2017-01-10 12 views
0

JENAを使用して、オントロジーの公理で定義されている注釈プロパティーを読み込みます。 は、例えば、私は、この個人やその取り付け公理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

これが入力であれば、2つのノードがライターの意図で同じノードであると推論することはできません。解析ルールは、これらが2つの別個のノードであると言います。表示されているプロパティと同じ値を持つという事実は関係ないかもしれません。

この出力を生成している場合は、個人を作成するときに同じノードIDを指定できる必要があります。これにより、ブランクの個人にはrdf:nodeid属性が与えられ、パーザは同じ個人として解釈します。

+0

お返事ありがとうございます。私は出力を生成している人です。 ObjectAssertionProviderで定義されたこのメソッドgetOWLObjectPropertyAssertionAxiomを使用してOWLAPIを使用しています。 owlAPIを使用してrdf:nodeidを追加するにはどうすればよいですか? –