InverseFunctionalProperty指向多个不同的反向属性

时间:2014-10-28 15:30:15

标签: semantic-web topbraid-composer

我正在使用TopBraid Composer来学习如何使用语义Web技术制作本体。

我做了什么:

  • 我创造了飞机的本体论, 城市,机场,州等。
  • 现在本体变得有点复杂,我遇到了一个问题

本体

The graph of my current ontology can be found on my drive

我想要的是什么:

由于我正在学习,我认为尝试为国家和机场设置房产hasCity会很棒。这应该导致机场与城市以及城市只有一个房产的城市相连接。

我尝试过(并且无法理解)

  1. 我将 hasCity属性修改为域机场
  2. 我做的另一个修改是属性hasCity也是functionalInverseOf hasAirport
  3. 在TopBraid中,您可以运行推理来查看数据发生了什么。 Included printscreen

    看来,通过修改hasCity属性,我声明Object rdfs:type也是Aiport。

    有人可以指出我正确的方向吗?

    Here is the whole 333 lines of my RDF, if it can help.

1 个答案:

答案 0 :(得分:0)

您已声明hasCity包含AirportCountry的域名。这意味着,对于具有Airport填充符的每个hasCityAirport也会被推断为Country。这不太可能是你要表达的意思。

此外,这个断言也是可疑的 - 数据类型属性的范围应该是数据类型,而不是类。

<owl:DatatypeProperty rdf:ID="Destination">
    <rdfs:range rdf:resource="#City"/>
    <rdfs:domain rdf:resource="#Transportation"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Destination</rdfs:label>
</owl:DatatypeProperty>