Hi, Let me take the example of Princess Diana article item from freebase
EXAMPLE ITEM ------------------------ Princess Diana TYPES (CATEGORIES) ---------- Person Deceased Person Person with Medical Condition Celebrity Nobility ATTRIBUTES UNDER TYPES ------------------------------------------- PERSON - date of birth, place of birth, nationality, gender, religion, parents, children, spouse, height, famous quotes DECEASED PERSON - date of death, place of death, cause of death, place of burial PERSON WITH MEDICAL CONDITION - Condition(s) CELEBRITY - romantic relationships, friends, networth, rehab details VALUES FOR ATTRIBUTES ----------------------------------------- http://www.freebase.com/view/en/diana_princess_of_wales The model representation could be like - <CATEGORY NODE> ----- CONTAINS -----> 1-many <ATTRIBUTE NODE> 1-many <ITEM NODE> ----- IS_OF_TYPE -----> <CATEGORY NODE> 1-many <ITEM NODE> ----- IS_RELATED_TO -----> 1-many <ITEM NODE> 1-many <CATEGORY NODE> ----- EXTENDS -----> <CATEGORY NODE> ( ROOT NODE has no PARENT category) <ATTRIBUTE NODE> ----- IS_OF_TYPE -----> <PRIMITIVE DATATYPE> (OR) <ITEM NODE> <ITEM NODE> ----- HAS_VALUE -----> <ATTRIBUTE NODE> (an Item can contain an attribute value only for those attributes that come under atleast one of its categories) For the above example -------------------------------- Person EXTENDS Root-Category Deceased Person EXTENDS Person Celebirty EXTENDS Person Nobility EXTENDS Person Person CONTAINS ATTRIBUTES date of birth, place of birth, nationality, gender, religion, parents, children, spouse, height, famous quotes Deceased Person CONTAINS ATTRIBUTES date of death, place of death, cause of death, place of burial Item Diana HAS_VALUE (England) to ATTRIBUTE place of birth Item Diana HAS_VALUE(Female) to ATTRIBUTE gender Item Diana is RELATED_TO Item Prince Charles To get all categories to which an item belongs... SELECT all OUTGOING RELs named IS_OF_TYPE from given item To get all attribute values of an item... SELECT all OUTGOING RELs named HAS_VALUE from given item. For freebase like queries, Find all celebrity women who were born in europe between 1940 and 1980? TRAVERSE & SELECT all NODES of INCOMING RELs named IS_OF_TYPE for CATEGORY Celebrity where the node HAS_VALUE(Female) for ATTRIBUTE Gender and the node HAS_VALUE(Europe) for ATTRIBUTE Continent HAS_VALUE(1940-1980) for ATTRIBUTE year-of-birth I'm sorry that am not able to give a visual explanation of the model for better clarity. The kind of data/metadata that is stored in freebase and the kind of vision to organise world's knowledge, requires the *most flexible and generic* data model that RDBMS can't provide. Neo4j would do well in such scenarios and the traversal-selector feature will be immensely useful in these scenarios. - keerthy 2009/6/16 ஸ்ரீராம் கீர்த்தி <[email protected]> > I am designing a data model based on Neo4j which would be able to hold > data/metadata similar to that in freebase.com > Actually I came to know about Neo4j, after reading a freebase blog about > 'graphd' - the graph database that freebase uses. I searched for open > implementations of graph databases and landed at neo4j. > > Nothing concrete has been done yet, but I will present use-cases(in this > thread) on how a data-metadata model for freebase like content can be stored > using Neo4j. The only place where I am stuck is in how versions of different > attributes/relationships are maintained in freebase. They seem to follow an > append-only pattern to their data store. > > - keerthy > > > On Tue, Jun 16, 2009 at 6:27 PM, Emil Eifrem <[email protected]>wrote: > >> Hey, that's actually a VERY good initiative. Would be GREAT if we >> could get start building a list of real-world Neo4j use cases! So >> please: >> >> a) Go to >> http://stackoverflow.com/questions/1000162/have-abyone-used-graph-based-databases-http-neo4j-org >> and add a one-or-two liner about your Neo4j use case. [Requires >> registration, but supports OpenID.] Or, >> >> b) Reply inline in this thread. (Works equally well and requires no >> registration.) >> >> Cheers, >> >> -EE >> >> On Tue, Jun 16, 2009 at 14:46, Anders Nawroth<[email protected]> >> wrote: >> > Hi! >> > >> > The following question was posted at Stackoverflow a few hours ago: >> > >> http://stackoverflow.com/questions/1000162/have-abyone-used-graph-based-databases-http-neo4j-org >> > >> >> I have used Relational Db's a lot and decided to venture out on other >> >> types available. >> >> This particular product looks good and promising http://neo4j.org/ >> >> Have anyone used Graph based databases and can highlisght pro's and >> >> con's from usability prespective . >> >> Also have you used these in production enviornment and what was you >> >> requirement that prompted you to use these ? >> > >> > I guess there should be some people here having this kind of experience, >> > right?! :-) >> > >> > Would be sweet if someone could chime in and contribute to the thread >> > over at Stackoverflow! >> > >> > >> > /anders >> > >> > _______________________________________________ >> > Neo mailing list >> > [email protected] >> > https://lists.neo4j.org/mailman/listinfo/user >> > >> >> >> >> -- >> Emil Eifrém, CEO [[email protected]] >> Neo Technology, www.neotechnology.com >> Cell: +46 733 462 271 | US: 206 403 8808 >> http://twitter.com/emileifrem >> _______________________________________________ >> Neo mailing list >> [email protected] >> https://lists.neo4j.org/mailman/listinfo/user >> > > _______________________________________________ Neo mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

