2014-10-28 37 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>