2016-12-05 4 views
-1

Как создать подклассы с использованием owl api? С помощью протеже было создано следующее.Как создать подклассы в OWL с использованием OWL 2

<owl:Class rdf:about="http://www.semanticweb.org/muz_a/ontologies/2016/diseasesymptomogy-9#dizziness"> 
     <rdfs:subClassOf rdf:resource="http://www.semanticweb.org/muz_a/ontologies/2016/diseasesymptomogy-9#symptom"/> 
     <rdfs:label>dizziness</rdfs:label> 
</owl:Class>` 
<owl:Class rdf:about="http://www.semanticweb.org/muz_a/ontologies/2016/diseasesymptomogy-9#dizziness"> 
     <rdfs:subClassOf rdf:resource="http://www.semanticweb.org/muz_a/ontologies/2016/diseasesymptomogy-9#symptom"/> 
     <rdfs:label>dizziness</rdfs:label> 
</owl:Class> 
+3

Что вы пробовали? Что не сработало? OWL-API довольно хорошо документирован, поэтому я предполагаю, что вы столкнулись с определенной проблемой? –

+3

Чтения API документации OWL и примеров есть путь ... – AKSW

+0

@JoshuaTaylor им не получить соответствующий вывод, как один выше, а им, имеющих такого типа subclassof класса #A класса #b subclassof , даже если im использует это: OWLAxiom axiom_spec = df.getOWLSubClassOfAxiom (clsA, clsA_spec); который должен работать нормально. правильно?? – Umar

ответ

1

документация доступны here есть примеры того, как добавлять, удалять и сохранять изменения в онтологию.

https://github.com/owlcs/owlapi/blob/version4/contract/src/test/java/org/semanticweb/owlapi/examples/Examples.java

@Test 
public void shouldAddAxiom() throws Exception { 
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
    IRI ontologyIRI = IRI.create("http://www.co-ode.org/ontologies/testont.owl"); 
    IRI documentIRI = IRI.create("file:/tmp/MyOnt.owl"); 
    SimpleIRIMapper mapper = new SimpleIRIMapper(ontologyIRI, documentIRI); 
    manager.getIRIMappers().add(mapper); 
    OWLOntology ontology = manager.createOntology(ontologyIRI); 
    OWLDataFactory factory = manager.getOWLDataFactory(); 
    OWLClass clsA = factory.getOWLClass(IRI.create(ontologyIRI + "#A")); 
    OWLClass clsB = factory.getOWLClass(IRI.create(ontologyIRI + "#B")); 
    OWLAxiom axiom = factory.getOWLSubClassOfAxiom(clsA, clsB); 
    AddAxiom addAxiom = new AddAxiom(ontology, axiom); 
    manager.applyChange(addAxiom); 
    manager.saveOntology(ontology); 
} 
0
public void addSubClass() throws OWLOntologyCreationException, OWLOntologyStorageException { 
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
    OWLOntology ontology = manager.loadOntologyFromOntologyDocument(new File("pathToFile"); 
    OWLDataFactory dataFactory = OWLManager.getOWLDataFactory(); 

    OWLClass parentC = dataFactory.getOWLClass(IRI.create(baseIRI, "parent"); 
    OWLClass childC = dataFactory.getOWLClass(IRI.create(baseIRI, "child"); 
    axiom = dataFactory.getOWLSubClassOfAxiom(childC, parentC); 

    Axiom addAxiom = new AddAxiom(ontology, axiom); 

    manager.applyChange(addAxiom); 
    manager.saveOntology(ontology); 
}