From: Ignazio P. <ign...@ya...> - 2010-09-27 18:16:59
|
2010/9/27 Matteo Danieletto <mat...@gm...>: > Hi everybody, > I have a little issue. I want change the value in a definition of class. > > <owl:Class rdf:about="#TemperatureTooWarm"> > <owl:equivalentClass rdf:resource="#TooWarm"/> > <owl:equivalentClass> > <owl:Class> > <owl:intersectionOf rdf:parseType="Collection"> > <rdf:Description rdf:about="#Temperature"/> > <owl:Restriction> > <owl:onProperty > rdf:resource="#hasFeatureTemperature"/> > <owl:someValuesFrom> > <rdf:Description> > <rdf:type rdf:resource="&rdfs;Datatype"/> > <owl:onDatatype rdf:resource="&xsd;float"/> > <owl:withRestrictions > rdf:parseType="Collection"> > <rdf:Description> > <xsd:minInclusive > rdf:datatype="&xsd;float">35</xsd:minInclusive> ############ THIS VALUE > </rdf:Description> > </owl:withRestrictions> > </rdf:Description> > </owl:someValuesFrom> > </owl:Restriction> > </owl:intersectionOf> > </owl:Class> > </owl:equivalentClass> > In another thread replied me that I can find the equivalent class, modify > the value and replace with new axiom. > I can to find the equivalent class: > Set<OWLEquivalentClassesAxiom> prova = > ontology.getEquivalentClassesAxioms(typeClass); > EquivalentClasses(<http://www.semanticweb.org/ontologies/Ontology1284376968132.owl#TemperatureTooWarm> > ObjectIntersectionOf(<http://www.semanticweb.org/ontologies/Ontology1284376968132.owl#Temperature> > DataSomeValuesFrom(<http://www.semanticweb.org/ontologies/Ontology1284376968132.owl#hasFeatureTemperature> > DataRangeRestriction(xsd:float facetRestriction(minInclusive > "35"^^xsd:float)))) ) > but I don't know how replace the value. I use OWLAPI 3.0 and I can't use > OWLAxiomChange(ontology , axima), right? > Can I make a new class with the same axiom of the previous class and replace > it?How can I make a defined class with owlapi, I've found only: > > ConvertSuperClassesToEquivalentClass(OWLDataFactory dataFactory, > OWLClass cls, java.util.Set<OWLOntology> ontologies, > OWLOntology targetOntology) > > but I've only an ontology, why must I use a set of ontologies? Because it's supposed to work with one or more ontologies; you can create a set of ontologies on the fly with new HashSet(Arrays.asList(yourOntology)). To replace an axiom: once you have your OWLEquivalentClassesAxiom, you can remove it from the ontology with OWLOntologyManager::removeAxiom, and add the new one by creating it with an OWLDataFactory, that you can obtain from the OWLOntologyManager itself; the method is OWLDataFactory::getOWLEquivalentClassesAxiom (I'm looking at the OWLAPI 3.1 code; I'm not 100% sure the name is exactly the same in the previous release, but there must be something similar). HTH, I. > > > > > > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Owlapi-developer mailing list > Owl...@li... > https://lists.sourceforge.net/lists/listinfo/owlapi-developer > > |