OWL 파일을 가지고 있는데, 그 샘플 스 니펫은 다음과 같습니다.중첩 된 OWL 속성을 읽는 방법?
<owl:NamedIndividual rdf:ID="001">
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">some literal 1</rdfs:label>
<has_legislative_reference rdf:resource="#002"/>
<has_legislative_reference rdf:resource="#003"/>
<has_legislative_reference rdf:resource="#004"/>
<has_name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">some literal 2</has_name>
<has_name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">some literal 3</has_name>
<rdf:type rdf:resource="#some_class"/>
<has_englishkeywords>
<owl:NamedIndividual rdf:ID="005">
<rdf:type rdf:resource="#006"/>
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">some literal 4</rdfs:label>
</owl:NamedIndividual>
</has_englishkeywords>
</owl:NamedIndividual>
지금, 나는 각 문장의 첫 번째 수준에서 사용할 수있는 모든 리터럴, 즉 some literal 1
, some literal 2
및 some literal 3
를 가져올 수 있었다. 그러나 나는 some literal 4
을 가져 오는 방법에 관해서는 손해를보고 있습니다.
추신 : 주 OWL 네임 스페이스와 같은 수준 인 모든 경우에 대해 아래 주어진 방법을 사용하여 각각 NamedIndividuals
을 반복합니다. 중첩 된 개체에 대한 지금
AnnotationProperty NamedIndividual = m_model.createAnnotationProperty("http://www.w3.org/2002/07/owl#NamedIndividual");
내가 중첩 된 리터럴을 읽을 수있는 임시 공간을 만들 필요가 수행
ResIterator namedIndividuals = m.listResourcesWithProperty(RDF.type, OWL.NamedIndividual);
OWL.NamedIndividual
"OWL : NamedIndividual은 ...으로 정의됩니다."이것은 완전히 잘못되었으므로 의미가 없습니다. 주석 속성 인 이유는 무엇입니까? – AKSW
그리고 나는 a) OWL 용으로 설계된 API, 즉 '클래스 표현식'과 '공리'수준에서 작동하거나 b) Jena Ontology API를 적어도 사용합니다. 즉, OntModel과 같은 것을 사용하십시오. – AKSW