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?



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

Reply via email to