Saturday, April 23, 2011

Graph DB - Neo4j (from VMWare)

Last week I joined a webinar from WMWare about Neo4j (GPLv3 open source community edition) graph database. From wikipedia, A graph database is a kind of NoSQL database that uses graph structures with nodes, edges, and properties to represent and store information. General graph databases that can store any graph. Nodes are very similar in nature to the objects, Properties are pertinent information that relate to nodes, Edges are the lines that connect nodes to nodes or nodes to properties and they represent the relationship between the two.

There are four emerging NOSQL stores
  1. Key/value stores (Amazon Dynamo)
  2. Column Family store (Google Bigtable)
  3. Document database (MangoDB/CouchDB)
  4. Graph Databases (Neo4j)
Here are three screen snapshots from the presentation:
  1. Spring Data Graph (JPA for graph db)
  2. Neo4j API (Node, Property, Relationship)
  3. Neo4j Performance (comparing to MySQL) 
        

Facebook Graph API:
http://developers.facebook.com/docs/reference/api/ (Need login to facebook to see developer API reference). It is still focusing on Node (entity/object), Property (attribute) and Edge (relationship/connection).

Graph API presents a simple, consistent view of the Facebook social graph, uniformly representing objects in the graph (e.g., people, photos, events, and pages) and the connections between them (e.g., friend relationships, shared content, and photo tags). Every object in the social graph has a unique ID. You can access the properties of an object by requesting https://graph.facebook.com/ID.

No comments:

Post a Comment