【问题标题】:How to automate the creation of classes in the ontology?如何在本体中自动创建类?
【发布时间】:2017-02-23 10:49:21
【问题描述】:

我有一个包含以下数据的 CSV 文件(一小部分):

ITEM_ID FAMILY      SUBFAMILY
555     Adventure   Adventure and extreme sports
444     Nightlife   International restaurants
333     Adventure   Adventure and extreme sports

我还有一个在 Protégé 中创建的 owl 格式的本体。我知道可以将 CSV 文件加载到本体中,如果我已经创建了所有的类(即来自 FAMILY 的“冒险”、“夜生活”等,以及“冒险和极限运动”、“国际餐厅”,等来自子家庭)。为此,我可以使用 SPARQL 将项目 (ITEM_ID) 作为实例加载。

但是我的问题是我是否也可以使用 SPARQL 和 CSV 自动创建类?这样做的目的是避免手动创建数千个基于 CSV 中存储的 FAMILY 和 SUBFAMILY 的类。

【问题讨论】:

标签: csv sparql owl ontology protege


【解决方案1】:

确实有很多方法可以做到这一点。这是我迄今为止使用的一对:

1。带有 RDF 插件的 OpenRefine

对于一次性练习,我的首选选项是使用 Open Refine(前 Google Refine)

您可以导入您的本体以及其他本体,并使用它们来赋予数据意义。你选择你的根节点。如果您没有唯一 ID,则可以在附加列中生成它们。您必须将根节点视为 URI,并且可以键入它(从您的本体和其他本体中分配一个或多个分类)。然后,您从本体中选择哪些属性应映射到 CSV 的标题,并且每列的所有单元格将自动变为:您建模的三重模式的对象,您选择的类型,并被视为 URI,文本,日期等 - 有很多选项可供选择。然后您只需导出为 RDF/XML 或 RDF/Turtle。

如果你的 CSV 文件很大,你可以增加 Open Refine 的内存。到目前为止,我已经设法转换了大约 50 万行的 CSV,因为列很多,生成的文件有大量的三元组。

但是,如果您使用的是大型 CSV 文件,Protégé 要么无法打开它们,要么运行速度极慢。

2。 Virtuoso CSV 海绵

那里有几个选项,包括使用Open Data Spaces,以及R2RML

【讨论】:

    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 2019-08-05
    • 2018-02-16
    相关资源
    最近更新 更多