2014-10-28 67 views
0

我在玩TopBraid Composer以了解如何使用语义Web技术制作本体。InverseFunctionalProperty指向多个不同的反向属性

我做了什么:

  • 我创建了飞机, 城市,机场,州等
  • 现在本体是有点复杂的本体,我遇到了一个问题

本体

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

我想要什么:

自从我学习,我认为这将是巨大的努力有一个属性hasCity既为国家和机场。这应该导致机场与城市以及只有一个财产的国家相连。

我想什么(不明白)

  1. 我修改的hasCity特性,在域机场
  2. 我所做的另一个修改是财产hasCity也是functionalInverseOf hasAirport

在TopBraid中,您可以运行推理以查看发生了什么与你的数据。 Included printscreen

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

请问有人能指点我正确的方向吗?

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

回答

0

您已经声明hasCity有域的两条AirportCountry。这意味着,对于填充为hasCity的每个AirportAirport也被推断为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>