Graphs in and of themselves are not self indexing like relational databases, however, you can construct indexes via strong relationships between the nodes of interest. The pattern I’ll be discussing in this post maps time (year, month, day, hour) into a graph format as nodes and edges. Once time, or some subset, is represented as a graph we can then associate events or moment intervals as nodes related to a particular hour of a particular day, month and year. ( This post is based on a full example here.) » Read the rest of this entry «
Indexing time and URI’s in jo4neo
January 6th, 2010 § 0
User/Roles Pattern in jo4neo
December 18th, 2009 § 0
Roles and Users is a classic domain model well suited to representation as a directed graph. The neo4j team has provided us with a good summary of how to implement this pattern using neo4j here . Utilizing jo4neo we can also solve this problem via a combination of the neo graph database and simple java objects. The code and maven build for this example are posted here. I encourage you to run the example and browse the code. We’ll need two domain classes, » Read the rest of this entry «
User/Roles Pattern in OWL
December 10th, 2009 § 0
The standard User-Role or User-Group pattern is typically implemented as three tables; User, Group, and an associative table User_Group. OWL (Ontology Web Language) is particularly suited to modeling this pattern, and, with a little help from an inferencing engine, can make some obvious yet valuable inferences for us. In many organizations it’s easier to model roles as a set of interrelated nodes such that membership in one conveys membership in a broader group. In this diagram Mark is declared as having a “marketing” role, however, he’s also an employee, and the graph makes that clear. If we were using the standard RDBMS approach mentioned above we’d have to enumerate each group and assert his membership to each one in the associative table.

users and roles
» Read the rest of this entry «