[Neo] Date effectiveness (Time Variance) implementation in Neo4J
suryadev.vasudev at gmail.com
Wed Apr 7 08:26:35 CEST 2010
We are exploring Neo4J for a resource management application.
Imagine 10K students borrowing from 80 libraries. Each library has 3 million
books. One student can borrow 1 or more books from each library for a range
of days. We say the borrower can borrow on day D12 and can self declare the
date of return D22 for example. These days are called start borrowing date
and end borrowing date
The libraries themselves lease books from 2000 publishers. Each book has a
start leasing date and end leasing date.
The student has to be a member of a book club to borrow books. She will have
a start membership date and end membership date.
A student can reserve a book called start reservation date and optional end
A book can be borrowed for a date range as long as it is not reserved.
Publishers have to register themselves with libraries called Start
registering date and end registering date
In Neo4J, we created Library, Book-Club, Publisher, Student and Books. We
are finding it difficult to implement the time variance. The business
1. The book publisher can lease books till his end registering date
2. Publisher can specify lease start date and end date for each book
3. Do not lend beyond end leasing date
4. Do not lend beyond end membership date
5. Query Student-book relationships (What books were borrowed/reserved, who
was the publisher, what was the book club) for a given date range
How do we model the date in Neo4J?
More information about the User