Andy,

Great, it worked, thanks for the help!!

Now, will the issue be fixed or is closing the model the correct solution (I'm 
new to Jena).
If it has to be closed, I read those issues about having to possibly 
reopen/recreate and such,
what does that really mean... (issues involved)

  

Tkx,
Jim



________________________________
 From: Andy Seaborne <[email protected]>
To: [email protected] 
Sent: Friday, April 13, 2012 9:39 AM
Subject: Re: Loading OWL and TDB
 
Small world?

See https://issues.apache.org/jira/browse/JENA-234 (yesterday/today)

Workaround - try calling model.close() after TDBLoader.loadModel

    Andy


On 13/04/12 14:26, Jim Reilly wrote:
>
>
> I have been trying to load an OWL doc into TDB and get an error when I query 
> the DB after a JVM restart.
>
>
> My load() method works, meaning the printAllQuery() shows the results.
> But, when the JVM ends, and I re-start it, by just calling the  
> printAllQuery(), it gives me this error:
> java.lang.NullPointerException at 
> com.hp.hpl.jena.tdb.store.DatasetPrefixesTDB.readPrefixMap(DatasetPrefixesTDB.java:175)
>  at 
> com.hp.hpl.jena.sparql.graph.GraphPrefixesProjection.getNsPrefixMap(GraphPrefixesProjection.java:62)
>  at 
> com.hp.hpl.jena.tdb.store.DatasetPrefixesTDB.getPrefixMapping(DatasetPrefixesTDB.java:224)
>  at 
> com.hp.hpl.jena.tdb.store.DatasetPrefixesTDB.getPrefixMapping(DatasetPrefixesTDB.java:215)
>  at 
> com.hp.hpl.jena.tdb.store.GraphTriplesTDB.createPrefixMapping(GraphTriplesTDB.java:99)
>  at 
> com.hp.hpl.jena.sparql.graph.GraphBase2.getPrefixMapping(GraphBase2.java:194) 
> at 
> com.hp.hpl.jena.rdf.model.impl.ModelCom.getPrefixMapping(ModelCom.java:908) 
> at 
> com.hp.hpl.jena.rdf.model.impl.ModelCom.withDefaultMappings(ModelCom.java:952)
>  at com.hp.hpl.jena.rdf.model.impl.ModelCom.<init>(ModelCom.java:66) at 
> com.hp.hpl.jena.rdf.model.impl.ModelCom.<init>(ModelCom.java:62) at 
> com.hp.hpl.jena.rdf.model.ModelFactory.createModelForGraph(ModelFactory.java:166)
>   at 
>com.hp.hpl.jena.sparql.core.DatasetImpl.graph2model(DatasetImpl.java:268) at 
>com.hp.hpl.jena.sparql.core.DatasetImpl.getDefaultModel(DatasetImpl.java:104)
>
>
> So, is loading the OWL into memory and loading into TDB done differently 
> somehow...????
>
>
> Also note, my prefixes.dat is empty.
>
>
>
> Here is the shortened method I've been using to test:
>
>     public void load()
>    {
>      Dataset dataset = TDBFactory.assembleDataset("air-tdb-assembler.ttl");
>      Model model = dataset.getDefaultModel();
>      OntModel ontModel = 
>ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_RDFS_INF, model);
>      TDBLoader.loadModel(model, "file:src/test/resources/time.owl");
>
>      printAllQuery();
>    }
>
>   public void printAllQuery()
>    {
>      try
>      {
>        Query ALL_QUERY = QueryFactory.create("SELECT * {?s ?p ?o}");
>        QueryExecution qExec = QueryExecutionFactory.create(ALL_QUERY, 
>dataset);
>        ResultSet rs = qExec.execSelect();
>        try
>        {
>          ResultSetFormatter.out(rs);
>        }
>        finally
>        {
>          qExec.close();
>        }
>      }
>      finally
>      {
>        // dataset.end(); // declares the end of the read transaction
>      }
>    }
>
>
> air-tdb-assembler.ttl:
> @prefix tdb:<http://jena.hpl.hp.com/2008/tdb#>  .
> @prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>  .
> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>  .
> @prefix ja:<http://jena.hpl.hp.com/2005/11/Assembler#>  .
>
> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
> tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
> tdb:GraphTDB    rdfs:subClassOf  ja:Model      .
>
> <#dataset>  rdf:type         tdb:DatasetTDB ;
>      tdb:location "target/jenaDatabase/jenaDS" ;
>      .
>
>
>
> Tkx,
> Jim
>

Reply via email to