我正在使用名为TopQuadrant的工具来创建语义Web(RDF / OWL)本体。此工具允许从MS Excel导入数据。我的电子表格基本上是一个双列表,第一列是XPATH表达式,第二列是该XPATH的描述。
导入电子表格后,我想使用SPARQL迭代数据,根据第一列中的值创建Ontology。例如,如果我的表格如下所示:
XPATH Description
Food
Food/Fruit
Food/Fruit/Apple
Food/Vegetables
Food/Vegetables/Turnips
我希望SPARQL使用“食物”的根类(当然在“Thing”下)和“食物”下创建我的Ontology,2个子类称为“Fruit”和“Vegetables”,在“Fruit”下“苹果”的子类,在“蔬菜”下的萝卜王子......继续下去。
这是SPARQL可以做的吗?
提前致谢。
答案 0 :(得分:3)
不,我不认为,SPARQL被设计为查询语言,因此超出了它的范围。虽然你从问题标题暗示你希望使用CONSTRUCT查询来执行此操作,但由于数据的格式,它不是SPARQL 1.0下可行的。
您的问题需要以SPARQL无法实现的方式处理第一列中的值而不定义自己的自定义扩展 - 我不确定TopQuadrant是否对此有任何支持。
仅基于电子表格中的数据,这是不可能的,但这可能取决于TopQuadrant如何导入您的电子表格。作为语义Web工具,我假设TopQuadrant正在将您的电子表格输入转换为某种RDF。如果是这种情况,您可以编辑您的问题以添加该RDF表示,我可以给您一个更明确的答案。
我希望即使在RDF表单中,您也可能无法通过单个查询实现目标