1

我正在使用一个名为 TopQuadrant 的工具来创建语义 Web (RDF/OWL) 本体。该工具允许从 MS Excel 导入数据。我的电子表格基本上是一个双列表格,第一列是 XPATH 表达式,第二列是 XPATH 的描述。

导入电子表格后,我想使用 SPARQL 遍历数据以根据第一列中的值创建本体。例如,如果我有一张如下所示的表格:

XPATH                              Description
Food
Food/Fruit
Food/Fruit/Apple
Food/Vegetables
Food/Vegetables/Turnips

我希望 SPARQL 使用“食物”的根类(当然在“事物”下)创建我的本体,在“食物”下,有 2 个名为“水果”和“蔬菜”的子类,在“水果”下是“Apple”,在“Vegetables”下是萝卜的子类……继续下去。

这是 SPARQL 可以做到的吗?

提前致谢。

4

1 回答 1

3

不,我不这么认为,SPARQL 被设计为一种查询语言,所以这超出了它的范围。虽然您从问题标题中暗示您希望使用 CONSTRUCT 查询来执行此操作,但由于您的数据格式,这在 SPARQL 1.0 下是不可行的。

您的问题需要在不定义您自己的自定义扩展的情况下以 SPARQL 无法实现的方式处理第一列中的值 - 我不确定 TopQuadrant 是否对此有任何支持。

仅根据电子表格中的数据,这是不可能的,但取决于 TopQuadrant 导入电子表格的方式,这可能是可能的。作为语义 Web 工具,我假设 TopQuadrant 正在将您的电子表格输入转换为某种 RDF。如果是这种情况,您可以编辑您的问题以添加该 RDF 表示,我可以给您一个更明确的答案。

我希望即使在 RDF 形式中,您也可能无法通过单个查询来实现您的目标

于 2009-11-20T09:47:43.760 回答