SPARQL中的蕴涵制度有W3C标准。但是,它没有提到应该如何在SPARQL查询中指定蕴涵制度。它也没有给出任何例子。我还没有找到Web的一个例子......那么如何在SPARQL查询中指定蕴涵制度呢?它可以完成吗?
PREFIX ex: <http://www.example.com/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?property
WHERE {
?property rdfs:subPropertyOf ex:someTopProperty .
}
我希望?property
的约束在传递性(RDFS蕴涵的一部分)下被关闭。
答案 0 :(得分:4)
蕴涵制度是SPARQL的可选扩展点,因此不需要SPARQL引擎来支持蕴涵制度。
在支持蕴涵制度的情况下,如何启用这些制度是具体实施细节,并未在任何地方指定/标准化。有些引擎可能只允许您指定一个始终开启的单一蕴涵制度,而其他引擎可能允许您在每个查询的基础上更改蕴涵制度。
通常,您应该联系您想要使用的SPARQL引擎的供应商,以了解他们支持的蕴涵制度以及如何配置和启用该支持。
至于如何确定使用的蕴涵制度,您可以尝试获取端点的SPARQL 1.1 service description,其中可能包含sd:defaultEntailmentRegime
等属性
但是,该信息(如果端点提供)通常只会告诉您端点的配置,而不一定是关于可能的配置