Hello, Sorry for the delay in responding, I was busy these days. Marko I will test the proposed stack Thx!
Mattias I work on graph based semantic similarity/proximity measures. In this case the graph is most of the time a reduction of an ontology i.e a DAG corresponding to the rdfs:SubClassOf backbone of the specification. Most of proposed measures use set of ancestors/descendants and require a transitive reduction as preprocess... I just wanted to known if Neo4J proposed facilities to store temporaly data during a traversal or if I have to manage them by myself. Thanks a lot SH On Wed, Nov 16, 2011 at 9:21 AM, Mattias Persson <matt...@neotechnology.com>wrote: > 2011/11/13 Sébastien HARISPE <harispe.sebast...@gmail.com> > > > Hi all, > > > > First of all, Thx a lot for your amazing work, simply astonishing... > > Below three questions related to my interest in using Neo4J as a Graph DB > > on top of which I want to test algorithms dedicated to large semantic > > graphs (OWL/RDF based). > > It would be nice if you could help me answer them. > > > > > > A -Using Neo4J with semantic web technologies like RDF/OWL/SPARQL: > > > > How does Neo4J interact with these technologies? > > > > I found/read: > > > > - an old post explaining how to load OWL into Neo4J using Jena API > > [1]< > > > http://sujitpal.blogspot.com/2009/05/using-neo4j-to-load-and-query-owl.html > > > > > . > > - interesting classes in the org.neo4j.meta.model package > > [2<http://components.neo4j.org/neo4j-meta-model/snapshot/> > > ,3< > > > http://components.neo4j.org/neo4j-meta-model-import/snapshot/apidocs/org/neo4j/meta/input/owl/Owl2GraphDb.html > > >] > > but I can't locate the package in the 1.5 apidocs > > [4]<http://components.neo4j.org/neo4j/1.5/apidocs/> > > . > > - that the org.neo4j.rdf and org.neo4j.meta do not follow the core > > components release, are they currently supported? > > - a ticket related to the addition of SPARQL plugin to the Neo4J > server, > > which means that semantic processes are part of your preoccupations ;). > > > > Can you detail the position of Neo4J considering OWL/RDF/SPARQL > > technologies? > > I can't easily find documentation about Neo4J and OWL > > [5<http://wiki.neo4j.org/content/OWL,_SPARQL,_SAIL,_and_RDF>], > > the use of RDF and SPARQL is well detailed however > > [6]<http://wiki.neo4j.org/content/RDF_/_SPARQL_Quickstart_Guide> > > . > > I also read about Sail on top of Neo4j > > [7]<https://github.com/datablend/neo4j-sail-test>, > > and to be honest, I'm quite lost... > > > > Do you think Neo4J is an interesting solution to interact with these > > technologies, that is to say, loading OWL specification as graph > > (simplification of the spec e.g classes, instances relationships between > > them), adding RDF triplet and using SPARQL? > > > > > > > > B - Algorithm implementations: > > > > As you know many graph algorithms need to store temporary results e.g. > > Dijkstra stores shortest path cost for all nodes during execution. > > Due to the size of the graphs, storing this information in memory is not > > possible most of the time, so how do you manage this information? > Temporary > > node properties? Is there guidance to implement algorithms using Neo4J? > > > > For extremely big traversal that could be a problem and the algorithms > that come with Neo4j (Dijkstra, A*, Shortest path etc.) don't use temporary > properties. How big traversals are we talking about? I know I've done A* on > rather many millions of relationships/nodes. Most algorithms touch only a > fraction of the full graph of course so that's usually not a problem even > if there are a billion relationships. > > > > > > > C - In-memory usage of Neo4J: > > > > In-memory graphs are very pleasant in order to perform certain CPU > > consuming algorithmic treatments on a reduced part of the graph. > > Considering an old post > > [8]<http://lists.neo4j.org/pipermail/user/2010-February/002719.html>, > > a proposed alternative was to rollback the transaction after the > treatment, > > i.e load the graph without flushing it. This make sense if you want to > load > > a new graph but is it possible to load a specific part of an existing > graph > > database in memory? Moreover, in the previously cited post you said that > > you planned to add an in-memory implementation but I can't find more > > information in the 1.5 doc, did I missed something? > > > > > Thx, > > > > SH > > > > [1] > > > http://sujitpal.blogspot.com/2009/05/using-neo4j-to-load-and-query-owl.html > > [2] http://components.neo4j.org/neo4j-meta-model/snapshot/ > > [3] > > > > > http://components.neo4j.org/neo4j-meta-model-import/snapshot/apidocs/org/neo4j/meta/input/owl/Owl2GraphDb.html > > [4] http://components.neo4j.org/neo4j/1.5/apidocs/ > > [5] http://wiki.neo4j.org/content/OWL,_SPARQL,_SAIL,_and_RDF > > [6] http://wiki.neo4j.org/content/RDF_/_SPARQL_Quickstart_Guide > > [7] https://github.com/datablend/neo4j-sail-test > > [8] http://lists.neo4j.org/pipermail/user/2010-February/002719.html > > _______________________________________________ > > Neo4j mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > -- > Mattias Persson, [matt...@neotechnology.com] > Hacker, Neo Technology > www.neotechnology.com > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user