Hi all, cross posting this as it is a Neo4j RDF issue:

---------- Forwarded message ----------
From: Peter Neubauer <[email protected]>
Date: Fri, Mar 26, 2010 at 3:17 PM
Subject: Re: null pointer exception while importing RDF-XML file with neo4j
To: [email protected]


Ian,
you have hit a bug and a feature.

Bug: We are not supporting Blank Nodes in RDF at the moment. We should
not fire a NPE, instead gracefully say that this is not supported and
maybe ignore that statement.

Feature: We didn't implement it since we are not sure how to handle
Blank Nodes. According to http://en.wikipedia.org/wiki/Blank_node they
have no namespace and might be local to the batch that you right now
import. However, we could actually expose a "blank node namespace"
setting to the client, which would mean that, if you in 2 batches
(import RDF files) specify the same blank_node_ns, matching blank node
values would be linked together. If not, they would be different and
just link together within one import.

Does anyone have any feedback on BlankNode handling, so we can go
ahead and implement this?

Cheers,

/peter neubauer

COO and Sales, Neo Technology

GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
Twitter      http://twitter.com/peterneubauer

http://www.neo4j.org             - Your high performance graph database.
http://www.tinkerpop.com      - Processing for Internet-scale graphs.
http://www.thoughtmade.com - Scandinavias coolest Bring-a-Thing party.



On Thu, Mar 25, 2010 at 7:47 PM, Ian Holsman <[email protected]> wrote:
> Hi guys.
> I'm trying to import a RDF file into Neo4j and running into the following
> problem.
>
> the RDF is here: http://thesauri.cs.vu.nl/mesh/rdf/mesh1b.rdf
>
> I was wondering if anyone has seen this before.
>
> gremlin> $g := neo4jsail:open('/tmp/mesh')
> Cache not enabled for 'uri' Setting it (LuceneIndexService#enableCache) to
> 100000
> ==>sailgraph[graphdatabasesail]
> gremlin> sail:load($g, '/Users/ianholsman/mesh1b.rdf', 'rdf-xml')
> java.lang.NullPointerException
>    at
> org.neo4j.index.lucene.LuceneIndexService.getNodes(LuceneIndexService.java:267)
>    at
> org.neo4j.index.lucene.LuceneIndexService.getNodes(LuceneIndexService.java:228)
>    at
> org.neo4j.index.lucene.LuceneIndexService.getSingleNode(LuceneIndexService.java:405)
>    at
> org.neo4j.rdf.store.representation.standard.AbstractUriBasedExecutor.lookupNode(AbstractUriBasedExecutor.java:149)
>    at
> org.neo4j.rdf.store.representation.standard.AbstractUriBasedExecutor.lookupOrCreateNode(AbstractUriBasedExecutor.java:158)
>    at
> org.neo4j.rdf.store.representation.standard.VerboseQuadExecutor.handleAddObjectRepresentation(VerboseQuadExecutor.java:264)
>    at
> org.neo4j.rdf.store.representation.standard.VerboseQuadExecutor.addToNodeSpace(VerboseQuadExecutor.java:70)
>    at org.neo4j.rdf.store.RdfStoreImpl.addStatement(RdfStoreImpl.java:89)
>    at org.neo4j.rdf.store.RdfStoreImpl.addStatements(RdfStoreImpl.java:69)
>    at
> org.neo4j.rdf.sail.GraphDatabaseSailConnectionImpl.internalAddStatement(GraphDatabaseSailConnectionImpl.java:623)
>    at
> org.neo4j.rdf.sail.GraphDatabaseSailConnectionImpl.innerAddStatement(GraphDatabaseSailConnectionImpl.java:440)
>    at
> org.neo4j.rdf.sail.GraphDatabaseSailConnectionImpl.addStatement(GraphDatabaseSailConnectionImpl.java:478)
>    at
> org.openrdf.repository.sail.SailRepositoryConnection.addWithoutCommit(SailRepositoryConnection.java:228)
>    at
> org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:460)
>    at
> org.openrdf.repository.util.RDFInserter.handleStatement(RDFInserter.java:196)
>    at
> org.openrdf.rio.rdfxml.RDFXMLParser.reportStatement(RDFXMLParser.java:1008)
>    at
> org.openrdf.rio.rdfxml.RDFXMLParser.processPropertyElt(RDFXMLParser.java:601)
>    at
> org.openrdf.rio.rdfxml.RDFXMLParser.startElement(RDFXMLParser.java:325)
>    at
> org.openrdf.rio.rdfxml.SAXFilter.reportDeferredStartElement(SAXFilter.java:300)
>    at org.openrdf.rio.rdfxml.SAXFilter.startElement(SAXFilter.java:223)
>    at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
>    at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
>    at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
>    at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
>    at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>    at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
>    at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
>    at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
>    at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
>    at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
>    at
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
>    at org.openrdf.rio.rdfxml.RDFXMLParser.parse(RDFXMLParser.java:260)
>    at org.openrdf.rio.rdfxml.RDFXMLParser.parse(RDFXMLParser.java:209)
>    at
> org.openrdf.repository.base.RepositoryConnectionBase.addInputStreamOrReader(RepositoryConnectionBase.java:354)
>    at
> org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:243)
>    at
> org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:203)
>    at
> com.tinkerpop.gremlin.functions.sail.LoadFunction.insertRDF(LoadFunction.java:67)
>    at
> com.tinkerpop.gremlin.functions.sail.LoadFunction.invoke(LoadFunction.java:30)
>    at
> com.tinkerpop.gremlin.functions.sail.LoadFunction.invoke(LoadFunction.java:20)
>    at
> org.apache.commons.jxpath.ri.compiler.ExtensionFunction.computeValue(ExtensionFunction.java:102)
>    at
> org.apache.commons.jxpath.ri.compiler.ExtensionFunction.compute(ExtensionFunction.java:84)
>    at
> org.apache.commons.jxpath.ri.compiler.Expression.iteratePointers(Expression.java:111)
>    at
> org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.iteratePointers(JXPathContextReferenceImpl.java:629)
>    at
> org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.iteratePointers(JXPathContextReferenceImpl.java:616)
>    at
> org.apache.commons.jxpath.JXPathContext.selectNodes(JXPathContext.java:686)
>    at com.tinkerpop.gremlin.XPathEvaluator.evaluate(XPathEvaluator.java:52)
>    at
> com.tinkerpop.gremlin.XPathEvaluator.evaluateList(XPathEvaluator.java:82)
>    at
> com.tinkerpop.gremlin.statements.XPathStatement.evaluate(XPathStatement.java:32)
>    at
> com.tinkerpop.gremlin.GremlinEvaluator.evaluate(GremlinEvaluator.java:48)
>    at com.tinkerpop.gremlin.Console.main(Console.java:72)
>
> To unsubscribe from this group, send email to
> gremlin-users+unsubscribegooglegroups.com or reply to this email with the
> words "REMOVE ME" as the subject.
>
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to