СОВА: получить класс из существующей антологии - PullRequest
1 голос
/ 11 июня 2010

Как я могу получить существующий класс из онтологии с помощью OWL-API?Это фрагмент моей онтологии:

<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.Как я могу получить это?

Ответы [ 2 ]

2 голосов
/ 30 декабря 2010

продолжая код, который вы указали в своем вопросе, вы можете получить прямую ссылку на класс следующим образом (я предполагаю, что ваш класс URI равен "http://mysite.com/my_ontology.owl#StringDocu"):

OWLClass stringDocuClass = factory.getOWLClass(IRI.create("http://mysite.com/my_ontology.owl#StringDocu"))

Это дает вам прямую ссылку на класс, который вы после, и вы можете взять его оттуда.

Надеюсь, это поможет!

1 голос
/ 21 июля 2010

Я думаю, что это даст вам все классы, на которые есть ссылки в загруженной онтологии:

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.

...