On 20/01/14 15:40, Ed Swing wrote:
What would the following exception be caused by?
         Dataset dataset = TDBFactory.createDataset(directory);
         dataset.begin(ReadWrite.WRITE);
         Model m =dataset.getNamedModel("metadata");
        OntModel model =
             ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RULE_INF,
                 m);
        for (Iterator<Individual> indIter = model.listIndividuals(); indIter
             .hasNext();) {
             Individual ind = indIter.next();
             System.out.println("INX: " + ind.getLocalName());
         }


Exception in thread "main" com.hp.hpl.jena.ontology.ConversionException: Cannot 
convert node http://www.w3.org/2001/XMLSchema#dateTime to Individual
        at 
com.hp.hpl.jena.ontology.impl.IndividualImpl$1.wrap(IndividualImpl.java:61)
        at com.hp.hpl.jena.enhanced.Personality.newInstance(Personality.java:93)
        at com.hp.hpl.jena.enhanced.EnhGraph.getNodeAs(EnhGraph.java:137)
        at 
com.hp.hpl.jena.ontology.impl.OntModelImpl$SubjectNodeAs.map1(OntModelImpl.java:3112)
        at 
com.hp.hpl.jena.ontology.impl.OntModelImpl$SubjectNodeAs.map1(OntModelImpl.java:1)
        at com.hp.hpl.jena.util.iterator.Map1Iterator.next(Map1Iterator.java:45)
        at 
com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94)
        at 
com.hp.hpl.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:55)
        at tdb.TdbReadTest.main(TdbReadTest.java:60)


This is in a step where I am simply trying to list the individuals within an 
ontology after I retrieve it from TDB. I've created two individuals, linked 
them with ObjectProperties, and wrote the TDB store. Neither of the statements 
has anything to do with dateTime. The statements do appear when I call 
listStatements(), and the ontology is valid and clean.

Any suggestions where to look for what causes this would be appreciated.

At a guess then the RULE inference you have specified is adding concepts like the xsd data types to the model and this is confusing the OntAPI somehow (and OWL/full v.s. OWL/DL view of the world probably). Don't know why this appears here and hasn't been mentioned by others.

Suggestions:

   o If you don't need inference then just switch to OntModelSpec.OWL_MEM

o If you do then try OWL_MEM_MICRO_RULE_INF or if you really really need it OWL_MEM_RULE_INF

   o Set the OntModel to non-strict

Dave


Edward Swing
Applied Research Technologist
Vision Systems + Technology, Inc., a SAS Company
6021 University Boulevard * Suite 360 * Ellicott City * Maryland * 21043
Tel: 410.418.5555 Ext: 919 * Fax: 410.418.8580
Email: [email protected]<mailto:[email protected]>
Web: http://www.vsticorp.com<http://www.vsticorp.com/>



Reply via email to