2017-01-10 27 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? –