Re: [Neo] neo rdf
Have you tried this utility yet? 2010/5/7 Mattias Persson matt...@neotechnology.com I just added a utility to do this operation, here's an example: VerboseQuadStore myStore = ... Context contextToRename = new Context( http://whatever.org/my-context; ); Context newValue = new Context( http://whatever.org/the-new-value; ); new RdfStoreTools( myStore ).renameContext( contextToRename, newValue ); You can call renameContext in a running transaction or by itself. You must use the latest versions of the neo4j-rdf component (0.7-SNAPSHOT) 2010/5/6 Mattias Persson matt...@neotechnology.com When I think about it it should be a simple and fast operation to do that, i.e. change the value of only one node and reindex it. Unfortunately there's nu tool for such an operation, but I can see what I can do to create such a tool for you. Allright? 2010/5/5 Lyudmila L. Balakireva lu...@lanl.gov Yes, I mean to change URI of the context node. Do you mean change the URI of a context node (since each context is represented by a node) so that all statements within that context gets the new value automatically? Or do you mean something else? It'd be helpful if you could to be more specific. 2010/5/4 Lyudmila L. Balakireva lu...@lanl.gov Hello, Is it possible to update the context value in verbose triple store ? Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo] neo rdf
When I think about it it should be a simple and fast operation to do that, i.e. change the value of only one node and reindex it. Unfortunately there's nu tool for such an operation, but I can see what I can do to create such a tool for you. Allright? 2010/5/5 Lyudmila L. Balakireva lu...@lanl.gov Yes, I mean to change URI of the context node. Do you mean change the URI of a context node (since each context is represented by a node) so that all statements within that context gets the new value automatically? Or do you mean something else? It'd be helpful if you could to be more specific. 2010/5/4 Lyudmila L. Balakireva lu...@lanl.gov Hello, Is it possible to update the context value in verbose triple store ? Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo] neo rdf
Do you mean change the URI of a context node (since each context is represented by a node) so that all statements within that context gets the new value automatically? Or do you mean something else? It'd be helpful if you could to be more specific. 2010/5/4 Lyudmila L. Balakireva lu...@lanl.gov Hello, Is it possible to update the context value in verbose triple store ? Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo] neo rdf
Hello, Is it possible to update the context value in verbose triple store ? Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo] neo rdf
2010/2/16 Peter Neubauer peter.neuba...@neotechnology.com: Lyudmilla, sorry for not being responsive, we are all tied up with the upcoming release, so please bear with us for some more day! 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 Fri, Feb 12, 2010 at 11:22 PM, Lyudmila L. Balakireva lu...@lanl.gov wrote: Hi, I have sort of architectural question. I am thinking about how to construct triple store based on verbosequadstore of neo4j. The problem that I am going to have too many contexts (I want to model version as context), and I think the verbose quad store attaching context to the reference node. Is it possible to manupulate the quad store to have subcontexts attached to the ref node and then attach actual contexts to subcontexts? Currently it isn't possible, unless you go in yourself and fix that in the code :) The second issue, the context node may have 10mln or more nodes attached. Would it create perfomance problems? Only on queries ?S P ?O (i.e. only predicate known) since it'll then start from context nodes, all other queries shouldn't be affected be such heavy context nodes. The other question if I use verboseQuadstore to populate the db can I return to neo API to traverse the nodes or I will stack with Sail? (I mean I want to use build -in sail facility to index and load the db, but to use my own logic to access nodes instead of spaql? Or I will be forced to reindex? (I need to lookup nod_id by uri to be able traverse from particular node? Since the rdf/rdf-sail components are just a layer on top of neo4j you can of course go directly towards the neo4j API where you'd have to know the graph layout which VerboseQuadStore creates (I think there's information in javadoc for VerboseQuadStrategy about that and they use the index key uri to index and lookup resource nodes. Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Mattias Persson, [matt...@neotechnology.com] Neo Technology, www.neotechnology.com ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo] neo rdf
Lyudmilla, sorry for not being responsive, we are all tied up with the upcoming release, so please bear with us for some more day! 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 Fri, Feb 12, 2010 at 11:22 PM, Lyudmila L. Balakireva lu...@lanl.gov wrote: Hi, I have sort of architectural question. I am thinking about how to construct triple store based on verbosequadstore of neo4j. The problem that I am going to have too many contexts (I want to model version as context), and I think the verbose quad store attaching context to the reference node. Is it possible to manupulate the quad store to have subcontexts attached to the ref node and then attach actual contexts to subcontexts? The second issue, the context node may have 10mln or more nodes attached. Would it create perfomance problems? The other question if I use verboseQuadstore to populate the db can I return to neo API to traverse the nodes or I will stack with Sail? (I mean I want to use build -in sail facility to index and load the db, but to use my own logic to access nodes instead of spaql? Or I will be forced to reindex? (I need to lookup nod_id by uri to be able traverse from particular node? Thank you, Luda ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo] neo-rdf-sail + BSBM
Hi Mattias, I tried the DenseTripleStore as well but that crashes (see below for the stacktrace). All this is for version org=org.neo4j name=neo-rdf-sail rev=0.5-SNAPSHOT (I use Ivy). The DenseTripleStore wouldn't help me anyway as I need named graph support and reading the wiki, it would seem I need the VerboseQuadStore is the only way to get that. BSBM does not use named graphs but I would need that support for other applications. Going direct to neo-rdf doesn't get me SPARQL does it? Nor an RDF parser? I'm loading data from an N-triples file. Is the bottleneck the Lucene index? I've found Lucene slow to index in other uses so it's going to be hard to get close to native store speeds. (what is that B-Tree code the codebase?) I'll when the bulk loader when it's RDF aware. Thanks, Andy Loading BSBM 250K, DenseTripleStore java.lang.IllegalArgumentException: Start node equals end node at org.neo4j.impl.core.RelationshipImpl.init(RelationshipImpl.java:58) at org.neo4j.impl.core.NodeManager.createRelationship(NodeManager.java:293) at org.neo4j.impl.core.NodeImpl.createRelationshipTo(NodeImpl.java:357) at org.neo4j.impl.core.NodeProxy.createRelationshipTo(NodeProxy.java:177) at org.neo4j.rdf.store.representation.standard.UriBasedExecutor.ensureConnected(UriBasedExecutor.java:262) at org.neo4j.rdf.store.representation.standard.UriBasedExecutor.addToNodeSpace(UriBasedExecutor.java:89) at org.neo4j.rdf.store.RdfStoreImpl.addStatement(RdfStoreImpl.java:79) at org.neo4j.rdf.store.RdfStoreImpl.addStatements(RdfStoreImpl.java:59) at org.neo4j.rdf.sail.NeoSailConnection.internalAddStatement(NeoSailConnection.java:625) at org.neo4j.rdf.sail.NeoSailConnection.innerAddStatement(NeoSailConnection.java:442) at org.neo4j.rdf.sail.NeoSailConnection.addStatement(NeoSailConnection.java:480) at org.openrdf.repository.sail.SailRepositoryConnection.addWithoutCommit(SailRepositoryConnection.java:235) at org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:405) at org.openrdf.repository.util.RDFInserter.handleStatement(RDFInserter.java:196) at org.openrdf.rio.ntriples.NTriplesParser.parseTriple(NTriplesParser.java:260) at org.openrdf.rio.ntriples.NTriplesParser.parse(NTriplesParser.java:170) at org.openrdf.rio.ntriples.NTriplesParser.parse(NTriplesParser.java:112) at org.openrdf.repository.base.RepositoryConnectionBase.addInputStreamOrReader(RepositoryConnectionBase.java:303 ) at org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:253) at run.LoadData.main(LoadData.java:80) On 21/12/2009 11:47, Mattias Persson wrote: Hi Andy, Great to hear you trying out neo4j and the neo-rdf-sail component. We're aware that the bulk-insert performance isn't what it should be and some of the performance caveats is in the neo-rdf-sail component, which is a layer around the neo-rdf component. So if you could try to go directly towards neo-rdf you could gain some performance there. The next step however would be to use the BatchInserter, a NeoService for bulk-inserts. See http://wiki.neo4j.org/content/Batch_Insert for more info. But since that's another interface we'll have to make some adjustments for the neo-rdf component to be friends with it. I'll put some time into this in the intermediate days between Christmas and New Years Day and see how we can make neo-rdf(-sail) do a performance leap for bulk-inserts. Happy Holidays! / Mattias 2009/12/21 Andy Seaborneandy.seabo...@talis.com: I'm trying to get neo-rdf-sail to run through the Berlin SPARQL Benchmark [1]. It's taking about 21 mins to load 1e6 triples for data and 115 mins for 5 million triples. This is a bit slow - projecting from that, 100M is at least 30 hours. This on EC2 m1.large, ubuntu server, Java heap size 6G, nothing else running, using IcedTea - this is my fixed setup for BSBM. My initial sense is that it is the indexing that is the significant cost but this is just an educated guess at preent. I'm using the LuceneIndexService as per the example. The NeoIndexService is marked not ready for general usage. Any tips for optimizing performance? I don't need transactionality, for example, because it's a one-time bulk load. I see also component sparql-engine-neo which is based on the leaving.name SPARQL engine (and parts of Sesame 1?). Would this be better? Andy [1] http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/results/V5/ ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user