[Top] [All Lists]

Re: [ontolog-forum] Neo4J for Ontology

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Duane Nickull <duane@xxxxxxxxxxx>
Date: Mon, 23 Apr 2012 03:07:23 +0000
Message-id: <CBBA0EB4.EE89D%duane@xxxxxxxxxxx>
Whoops!  Didn't realize I was on the wrong thread.  Some comments inline:    (01)

On 12-04-22 7:30 PM, "John F Sowa" <sowa@xxxxxxxxxxx> wrote:    (02)

>I'm moving this thread to the more general Ontolog Forum.
>> Neo4J?  Given the large instance data sets, I have been finding it an
>> ideal database to work on as it models graphs really well.  It uses a
>> traversal model to find associated data...
>> Check this out: http://console.neo4j.org/usage.html
>For really Big Data, node-by-node traversals of graphs degenerate
>to a combinatorial explosion.    (03)

DN: I have seen the older attempts but Neo4J has really got it right. What
it seems to come down to is how you model the graph.  For example, if I
crated one node that has traversable relationships to 1,000,000 other
nodes and then search for a specific node using a traverser and by first
loading all 1000000 relationships and iterating through them, yes -
inefficient.  However, if I do the same thing and index it and use code to
look for the node with the least amount of relationships first, then
traverse, it is more efficient. The API's have changed a lot since you
might have last looked at it.  Not sure if you have tried neo4j but I find
it really slick.    (04)

>I'm sure that things like Neo4J can be useful for many applications,
>but if you really have large graphs and large numbers of graphs,
>you need to index the data.  And there are some very good methods
>for indexing finding exact and approximate matches.    (05)

DN: Yes.  This is why they are used for big data sets like FaceBook and
Google.  Each user starts their social graph with an index of themselves.
The traversal then finds other nodes related to that user.  The advantage
here is also the flexibility offered by graph databases IMO.  RDBMS is
much more inflexible as the schema has to be changed to add a single
property for an object.  Graph DB's allow one property to be added then,
>In particular, the organic chemists have been pioneers in searching,
>indexing, and matching huge graphs.  They abandoned brute-force
>traversal methods in the 1980s.
>See, for example, slides 104 to 128 of the following slides:
>    http://www.jfsowa.com/talks/goal.pdf
>For issues of computational complexity, see the subset of slides
>from 115 to 118 and the references cited there.    (06)

DN: I think a lot of the issue you note are also solved by better
modelling and indexing.  Nevertheless, it will be very interesting to
watch the 2012 growth of these GraphDB's.    (07)

>Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
>Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
>Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
>Shared Files: http://ontolog.cim3.net/file/
>Community Wiki: http://ontolog.cim3.net/wiki/
>To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>    (08)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (09)

<Prev in Thread] Current Thread [Next in Thread>