2017-01-10 38 views
0

閱讀批註我使用耶拿讀本體中的公理中定義的註釋屬性。 例如我有這種個人及其所連接的公理與OWL匿名註釋目標

 <owl:NamedIndividual rdf:about="http://www.co-ode.org/ontologies/pizza/pizza.owl#firstPizza"> 
    <rdf:type rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#Pizza"/> 
    <hasCountryOfOrigin> 
     <Country> 
      <hasCountryOfOrigin rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#Italy"/> 
     </Country> 
    </hasCountryOfOrigin> 
</owl:NamedIndividual> 
<owl:Axiom> 
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string">123</owl:versionInfo> 
    <owl:annotatedSource rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#firstPizza"/> 
    <owl:annotatedProperty rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#hasCountryOfOrigin"/> 
    <owl:annotatedTarget> 
     <Country> 
      <hasCountryOfOrigin rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#Italy"/> 
     </Country> 
    </owl:annotatedTarget> 
</owl:Axiom> 

在這裏,我們對個人(firstPizza)和匿名個體之間的關係(所述第一hasCountryOfOrigin)註解。我能夠讀取公理和他們解析到我自己的自定義數據結構。我的問題是:我不能找到一種方法來告訴裏面firstPizaa匿名個體是同一個作爲公理匿名個體。 JENA給每個人不同的ID。我怎麼知道他們是平等的?

回答

1

如果這是你得到的輸入,你不能推斷這兩個節點是作者意圖中的同一個節點 - 解析規則說這些節點應該是兩個不同的節點。他們對你有可能看到不相關的屬性值相同的事實。

如果您正在生成此輸出,則在創建個人時應該能夠指定相同的節點ID。這應該會導致空白個體的rdf:nodeid屬性,然後解析器會將其解釋爲同一個人。

+0

感謝您的回答。我是生產產量的人。我正在使用OWAAPI使用在ObjectAssertionProvider中定義的此方法getOWLObjectPropertyAssertionAxiom。我如何使用owlAPI添加rdf:nodeid? –