我在GraphDB的存储库中加载了以下语句:
@prefix foo: <http://fopo.com#> .
@prefix bar: <http://dd.com#> .
foo:Car a owl:Class .
foo:Animal a owl:Class ;
owl:disjointWith foo:Car .
foo:isEndangered a owl:ObjectProperty ;
rdf:domain foo:Animal ;
rdf:range bar:SomeSpecies .
foo:Ape a owl:Class ;
foo:isEndangered bar:SomeSpecies .
如果我没有错,由于OWL2引入了punning(即,对于个人进行元模型使用类的相同IRI),应推断出以下语句:
foo:Ape a foo:Animal .
但它不会发生 . 我没有运气也尝试了不同的存储库设置 .
有没有办法得到那种推论或我做错了什么?
1 回答
您应该只替换此语句:
有了这个:
更换后,应推断
foo:Ape a foo:Animal
:Visual Graph mode screenshot,
SPARQL mode screenshot .
在SPARQL模式下,请确保
>>
图标中的第二个>
未点缀,否则单击图标 .它适用于RDFS和OWL-Max规则集,我还没有检查过其他规则集 .
正如@Ignazio所说,OWL 2 DL的惩罚不会给予推论,但是惩罚的目的恰恰相反 . OWL 2 DL惩罚允许实体同时成为类和个体而不考虑本体不一致(即,充满推论)或无效 .
OWL双关语只占RDF总数的一小部分freedom:
实际上,您需要的推断是由rdfs2 RDFS蕴涵模式授予的 .
我希望下面的助记符表会有所帮助 . 它显示RDFS词汇表中提到的哪个术语是哪个前缀 .
附:即使您没有推断出您需要的陈述,这也是not a bug:
:-)