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

