[Pellet-users] Nullpointer when writing model containing Enumerated Datatype

Jan jan.public at famvlug.nl
Wed Jul 30 12:18:48 UTC 2008


Evren, thanks for your reply and and creating the ticket.
I will try your suggestion but it will take a while ...

Evren Sirin wrote:
> This seems to be a bug triggered in the case when there are no classes 
> in the ontology. The bug is recorded at [1] and if you add a named 
> class to your ontology you will see that the problem goes away.
>
> Cheers,
> Evren
>
> [1] http://cvsdude.com/trac/clark-parsia/pellet-devel/ticket/141
>
> On 7/18/08 6:44 PM, Jan Vlug wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I have an owl file with an Enumerated Datatype as defined in: 
>> http://www.w3.org/TR/owl-ref/#EnumeratedDatatype
>>
>> When I load this file, it validates without problems, but writing the 
>> model results in a NullPointerException.
>> See below for the owl file, java program and stack trace.
>>
>> Am I doing something wrong?
>>
>> ==================================================================
>> enumeration.owl file:
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <!DOCTYPE rdf:RDF [
>> ~   <!ENTITY rdf         "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
>> ~   <!ENTITY xsd         "http://www.w3.org/2001/XMLSchema#">
>> ]>
>>
>> <rdf:RDF
>> ~     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>> ~     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>> ~     xmlns:owl="http://www.w3.org/2002/07/owl#"
>> ~   xml:base="http://a.b.c.d/foo">
>> ~   <owl:Ontology rdf:about=""/>
>>
>> ~   <owl:DatatypeProperty rdf:ID="DEMO_DATATYPE_PROPERTY">
>> ~     <rdfs:range>
>> ~       <owl:DataRange>
>> ~         <owl:oneOf>
>> ~          <rdf:List>
>> ~           <rdf:first rdf:datatype="&xsd;string">FIRST</rdf:first>
>> ~           <rdf:rest rdf:resource="&rdf;nil" />
>> ~          </rdf:List>
>> ~         </owl:oneOf>
>> ~       </owl:DataRange>
>> ~     </rdfs:range>
>> ~   </owl:DatatypeProperty>
>>
>> </rdf:RDF>
>> ==================================================================
>> example program:
>> package test;
>>
>> import java.io.FileInputStream;
>>
>> import org.mindswap.pellet.jena.PelletReasonerFactory;
>>
>> import com.hp.hpl.jena.rdf.model.InfModel;
>> import com.hp.hpl.jena.rdf.model.Model;
>> import com.hp.hpl.jena.rdf.model.ModelFactory;
>> import com.hp.hpl.jena.reasoner.Reasoner;
>> import com.hp.hpl.jena.reasoner.ValidityReport;
>>
>>
>> public class PelletCrashTest
>> {
>> ~   public static void main(String[] args)
>> ~     throws Exception
>> ~   {
>> ~     Model emptyModel = ModelFactory.createDefaultModel( );
>> ~     Reasoner reasoner = PelletReasonerFactory.theInstance().create();
>>
>> ~    // create an inferencing model using Pellet reasoner
>> ~     InfModel model = ModelFactory.createInfModel( reasoner, 
>> emptyModel );
>> ~     FileInputStream file = new 
>> FileInputStream("ontologies/enumeration.owl");
>>
>> ~     model.read(file, null);
>>
>> ~     // print validation report
>> ~     ValidityReport report = model.validate();
>>
>> ~     System.out.println("clean?" + report.isClean());
>> ~     System.out.println("valid?" + report.isValid());
>>
>> ~     model.write(System.out);
>>
>> ~     System.out.println();
>> ~   }
>> }
>> ==================================================================
>> stacktrace:
>> Exception in thread "main" java.lang.NullPointerException
>> ~     at 
>> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.clearMarks(CDOptimizedTaxonomyBuilder.java:425) 
>>
>> ~     at 
>> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:736) 
>>
>> ~     at 
>> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:717) 
>>
>> ~     at 
>> org.mindswap.pellet.KnowledgeBase.getAllEquivalentClasses(KnowledgeBase.java:2767) 
>>
>> ~     at 
>> org.mindswap.pellet.jena.PelletInfGraph.eqClassIterator(PelletInfGraph.java:978) 
>>
>> ~     at 
>> org.mindswap.pellet.jena.PelletInfGraph.findInTBox(PelletInfGraph.java:556) 
>>
>> ~     at 
>> org.mindswap.pellet.jena.PelletInfGraph.findWithContinuation(PelletInfGraph.java:212) 
>>
>> ~     at 
>> com.hp.hpl.jena.reasoner.BaseInfGraph.graphBaseFind(BaseInfGraph.java:345) 
>>
>> ~     at 
>> com.hp.hpl.jena.reasoner.BaseInfGraph.graphBaseFind(BaseInfGraph.java:334) 
>>
>> ~     at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240)
>> ~     at 
>> com.hp.hpl.jena.graph.compose.DisjointUnion.graphBaseFind(DisjointUnion.java:27) 
>>
>> ~     at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240)
>> ~     at 
>> com.hp.hpl.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:260)
>> ~     at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:257)
>> ~     at 
>> com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:385) 
>>
>> ~     at 
>> com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:390) 
>>
>> ~     at 
>> com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:75)
>> ~     at 
>> com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:66)
>> ~     at com.hp.hpl.jena.xmloutput.impl.Basic.writeBody(Basic.java:40)
>> ~     at 
>> com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.writeXMLBody(BaseXMLWriter.java:452) 
>>
>> ~     at 
>> com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:424) 
>>
>> ~     at 
>> com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:410) 
>>
>> ~     at 
>> com.hp.hpl.jena.rdf.model.impl.ModelCom.write(ModelCom.java:270)
>> ~     at test.PelletCrashTest.main(PelletCrashTest.java:34)
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.9 (GNU/Linux)
>> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
>>
>> iEYEARECAAYFAkiBHLsACgkQvuFuLCp9giDaFgCfU+kzMeXXLFW/I2J2dpYM+8ti
>> EtsAnAuSODEv+jfLHVZDYoH9pdJcIajU
>> =lzLb
>> -----END PGP SIGNATURE-----
>>
>>
>> _______________________________________________
>> Pellet-users mailing list
>> Pellet-users at lists.owldl.com
>> http://lists.owldl.com/mailman/listinfo/pellet-users
>> _______________________________________________
>>
>> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/
>>   
>


More information about the Pellet-users mailing list