From: Matthew H. <mat...@cs...> - 2008-11-18 11:59:54
|
Hi, It looks like you are using Protege 3 code here. ProtegeOWL.createJenaOWLModelFromURI() is part of the Protege 3 API. The OWL API is used in Protege 4. There are some examples of how to use a reasoner in the documentation section of the OWL API website (http://owlapi.sourceforge.net). Cheers, Matthew On 18 Nov 2008, at 00:54, Cho, Hyun Sang wrote: > Hi, > > I have a question about data property inference by using Pellet. > Firstly, I assigned three classes for indication of level. The three > classes have class expression that determine a including individual, > for example, “hasEnergyValue some int[<= "8"^^integer]”. > Secondly, I also assigned the data property “hasEnergyValue” for > the value. And, I assigned a class “CurrentEnergyZone” that has > the data property. > Thirdly, I generated an individual “EnergZoneState” from the > class. The individual has “hasEnergyValue” property with a > numeric value. (Please refer an attached owl file). > > I did inference by using Protégé 4.0β and got inferred type > “GreenEnergyZone”. > I heard that one of the outstanding features of Pellet is ability of > datatype inference. > I got sample program from site, and tried to do same inference by > using Java. > Source code is as bellows. > > public class PelletTest { > > /** > * @param args > * @throws OntologyLoadException > */ > > @SuppressWarnings("unchecked") > public static void main(String[] args) throws > OntologyLoadException { > // TODO Auto-generated method stub > String uri = "http://localhost/Ontologies/example.owl"; > OWLModel owlModel = > ProtegeOWL.createJenaOWLModelFromURI(uri); > > ProtegeReasoner reasoner = > createPelletOWLAPIReasoner(owlModel); > System.out.println("\n = Running example with reasoner > " + reasoner.getClass().getSimpleName() + " =\n"); > > try { > > OWLIndividual indi2 = > owlModel.getOWLIndividual("EnergyZoneState"); > > reasoner.computeInferredIndividualTypes(); > Collection colIndi2 = > reasoner.getIndividualTypes(indi2); > > System.out.println("Types"); > > if(colIndi2 != null ){ > for(Iterator it = colIndi2.iterator(); > it.hasNext();) { > OWLNamedClass curClass = > (OWLNamedClass) it.next(); > System.out.println("\t" + > curClass.getName()); > } > } > } catch (ProtegeReasonerException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > } > > public static ProtegeReasoner createPelletOWLAPIReasoner(OWLModel > owlModel){ > ReasonerManager reasonerManager = ReasonerManager.getInstance(); > > ProtegeReasoner reasoner = > reasonerManager.createProtegeReasoner(owlModel, > ProtegePelletOWLAPIReasoner.class); > return reasoner; > } > } > > > I got results as follows. > > Types > http://www.haemosu.com/ontologies/example.owl#CurrentEnergyZone > http://www.w3.org/2002/07/owl#Thing > > > Since I could get “GreenEnergyZone” from Protégé 4.0, I > expected to get the class from > “reasoner.computeInferredIndividualTypes();” but I couldn’t. > Please tell me how I can get the same result with the inference in > Protégé 4.0 > > Best regards, > Cho, Hyun Sang. > <example_simple.owl> > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ > Owlapi-developer mailing list > Owl...@li... > https://lists.sourceforge.net/lists/listinfo/owlapi-developer |