在 OWL-DL 中,如果某些 :x 具有 rdf:type 的 something,它是 owl:Class,例如:汽车
:Car rdf:type owl:Class .
:x rdf:type :Car .
或同等水平
:Car a owl:Class .
:x a :Car .
它不能推断出,:x 必须是一个 owl:(Named)Individual,因此必须始终手动指定该附加事实?
:x a :Car ;
a owl:NamedIndividual ;
:hasType :Ford ;
:hasColor "red" .
OWL 和 RDF 是不同的东西。 OWL 本体可以通过遵循 OWL 2 Web 本体语言中指定的规则用 RDF 表示 映射到 RDF Graphs 文档。 如果你看一下那里, owl:NamedIndividual 的使用方式是:
如果本体包含公理:
声明(NamedIndividual(*:a))
那么 RDF 映射包含三元组:
T(*:a) rdf:type owl:NamedIndividual .
同样,如果 RDF 映射包含:
*:x rdf:type owl:NamedIndividual .
那么本体包含
声明(NamedIndividual(*:x))
(还有一种带注释公理的情况,但本质上是相同的)。
在查看更多语义文档时,我没有看到任何其他地方(枚举类表达式除外)允许添加
x rdf:type owl:NamedIndividual
RDF 三元组或推断 NamedIndividual(x)
。