Я использую 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>
Здесь мы имеем аннотацию над соотношением (первый hasCountryOfOrigin) между физическим лицом (firstPizza) и физическим лицом Anonymous. Я смог прочитать аксиомы и разобрать их на собственную собственную структуру данных. Моя проблема: я не могу найти способ сказать, что анонимный человек внутри firstPizaa является тем же, что и анонимный человек в аксиоме. ДЖЕНА дает каждому из них разные идентификаторы. Как я могу сказать, что они равны или нет?
Спасибо за ответ. Я - тот, кто производит выход. Я использую OWLAPI, используя этот метод getOWLObjectPropertyAssertionAxiom, определенный в ObjectAssertionProvider. Как использовать owlAPI для добавления rdf: nodeid? –