[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 17:56:51 +0000
Message-id: <CBBAE4E8.EEDAF%duane@xxxxxxxxxxx>

On 12-04-23 5:35 AM, "John F Sowa" <sowa@xxxxxxxxxxx> wrote:    (01)

>I'd just like to comment on the following point:
>>> 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.
>> 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
>> The traversal then finds other nodes related to that user.  The
>> 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,
>That is the kind of application for which graph traversal is good:
>  1. You have a pointer to a clearly defined starting point, such as
>     a web page for a specific individual.  For info about a specific
>     individual, FaceBook is a *structured* DB for which they have
>     predefined specific categories that they use for well-worn
>     branches in the graph.  Most paths are short, and people seldom
>     ask complex queries.    (02)

DN: Exactly.  The flow of logic is really simple.    (03)

1. User logs in to Facebook, data is used to find key index in GraphDB.
2. The queries run fast and furious in the background of the webpage.
First - start with node "John" and traverse all relationships of type
"is_in_Photo" and provide the number of photo thumbnails the first loaded
page can handle (example = 20).
3. The same queries complete the traversals one layer deep for each
subsequent category of Friends, Comments, Activity Stream etc. and they
are added to the page.
4. If the user then clicks on any item on the webpage, the graph DB starts
with that node (already in a tuple) and explores the relative
relationships.    (04)

I may be blinded by "neo love" with this but it really is fast from a
development perspective compared to things like SQL.  I found I could
create and traverse 2million plus relationships in milliseconds with Neo4J.    (05)

Duane    (06)

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    (07)

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