如何使用OWL-API从Ontology获取现有类?这是我的本体论的一个片段:
<owl:Class rdf:ID="StringDocu">
<owl:equivalentClass>
<owl:Restriction>
<owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<owl:onProperty rdf:resource="#hasContent"/>
</owl:Restriction>
</owl:equivalentClass>
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>String Docu</rdfs:label>
<rdfs:subClassOf rdf:resource="#Docu"/>
<owl:disjointWith rdf:resource="#URIDocu"/>
<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>This class concerns a docu with the content specified as common text.</rdfs:comment>
</owl:Class>
我从这段代码开始:
String ontologyUri = "http://mysite.com/my_ontology.owl";
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ontology = manager.createOntology(IRI.create(ontologyUri));
OWLDataFactory factory = manager.getOWLDataFactory();
现在我想要检索StringDocu
类。我怎么能得到这个?
答案 0 :(得分:2)
继续你在问题中显示的代码,你可以按如下方式直接引用该类(我假设你的类URI是“http://mysite.com/my_ontology.owl#StringDocu”):< / p>
OWLClass stringDocuClass = factory.getOWLClass(IRI.create("http://mysite.com/my_ontology.owl#StringDocu"))
这可以直接引用您所在的课程,并可以从那里学习。
希望这有帮助!
答案 1 :(得分:1)
我认为这将为您提供所加载的本体中引用的所有类:
String ontologyUri = "http://mysite.com/my_ontology.owl";
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ontology = manager.createOntology(IRI.create(ontologyUri));
Set <OWLClass> classes = ontology.getClassesInSignature();
然后,您可以在OWLClass
。