如何在ontology中自动创建类?
How to automate the creation of classes in the ontology?
我有包含以下数据的 CSV 文件(一小段摘录):
ITEM_ID FAMILY SUBFAMILY
555 Adventure Adventure and extreme sports
444 Nightlife International restaurants
333 Adventure Adventure and extreme sports
我还有一个 ontology owl 格式,是我在 Protégé 中创建的。我知道可以将 CSV 文件加载到 ontology,如果我已经创建了所有 类(即来自 FAMILY 的 "Adventure"、"Nightlife" 等,并且"Adventure and extreme sports"、"International restaurants",等等来自 SUBFAMILY)。为此,我可以使用 SPARQL 将项目 (ITEM_ID) 作为实例加载。
但是我的问题是我是否也可以使用 SPARQL 和 CSV 自动创建 类?这个想法是为了避免基于存储在 CSV 中的 FAMILY 和 SUBFAMILY 手动创建数千个 类。
确实有很多方法可以做到这一点。这是我到目前为止使用的一对:
1。使用 RDF 的 OpenRefine plug-in
对于 one-off 练习,我的首选是使用 Open Refine(以前的 Google Refine)
您可以将您的 ontology 与其他人一起导入,并使用它们来赋予数据意义。您选择根节点。如果您没有唯一 ID,可以在附加列中生成它们。您必须将根节点视为 URI,您可以输入它(从您的和其他本体中分配一个或多个分类)。然后选择 ontology 中的哪些属性应映射到 CSV 的 headers,每列的所有单元格将自动变为:您建模的三重模式的 object,您选择的类型,并视为 URI、文本、日期等 - 有很多选项可供选择。然后您只需导出为 RDF/XML 或 RDF/Turtle.
如果你的CSV文件很大,可以增加Open Refine的内存。到目前为止,我已经成功地转换了大约 50 万行的 CSV,因为列很多,生成的文件有大量的三元组。
但是,如果您使用的是大型 CSV 文件,Protégé 要么无法打开它们,要么运行速度极慢。
2。 Virtuoso CSV 海绵
那里有几个选项,包括使用 Open Data Spaces, as well as R2RML。
我有包含以下数据的 CSV 文件(一小段摘录):
ITEM_ID FAMILY SUBFAMILY
555 Adventure Adventure and extreme sports
444 Nightlife International restaurants
333 Adventure Adventure and extreme sports
我还有一个 ontology owl 格式,是我在 Protégé 中创建的。我知道可以将 CSV 文件加载到 ontology,如果我已经创建了所有 类(即来自 FAMILY 的 "Adventure"、"Nightlife" 等,并且"Adventure and extreme sports"、"International restaurants",等等来自 SUBFAMILY)。为此,我可以使用 SPARQL 将项目 (ITEM_ID) 作为实例加载。
但是我的问题是我是否也可以使用 SPARQL 和 CSV 自动创建 类?这个想法是为了避免基于存储在 CSV 中的 FAMILY 和 SUBFAMILY 手动创建数千个 类。
确实有很多方法可以做到这一点。这是我到目前为止使用的一对:
1。使用 RDF 的 OpenRefine plug-in
对于 one-off 练习,我的首选是使用 Open Refine(以前的 Google Refine)
您可以将您的 ontology 与其他人一起导入,并使用它们来赋予数据意义。您选择根节点。如果您没有唯一 ID,可以在附加列中生成它们。您必须将根节点视为 URI,您可以输入它(从您的和其他本体中分配一个或多个分类)。然后选择 ontology 中的哪些属性应映射到 CSV 的 headers,每列的所有单元格将自动变为:您建模的三重模式的 object,您选择的类型,并视为 URI、文本、日期等 - 有很多选项可供选择。然后您只需导出为 RDF/XML 或 RDF/Turtle.
如果你的CSV文件很大,可以增加Open Refine的内存。到目前为止,我已经成功地转换了大约 50 万行的 CSV,因为列很多,生成的文件有大量的三元组。
但是,如果您使用的是大型 CSV 文件,Protégé 要么无法打开它们,要么运行速度极慢。
2。 Virtuoso CSV 海绵
那里有几个选项,包括使用 Open Data Spaces, as well as R2RML。