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

Jan Vlug jan.public at famvlug.nl
Fri Jul 18 22:44:11 UTC 2008


-----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-----




More information about the Pellet-users mailing list