Hi, I'm our company software architect, and I'm new to GraphDBs. But as we're building a Google+-like, we realized the need for something like Neo4j. And as this community seems the best, we settle for you guys :)
Anyway. Onto the design. Call us fools, but we're trying to redo Google+ (except for kids). I need help with the design, for starters. Here's the Domain: - Users - Users have friends - Users can place friends in one or more group (circle for G+), groups being only visible to the user creating them. - Users can create posts, which are visible either by all his friends or only one or more groups. I realize the hardest part is to retrieve feeds. For example, I want the posts feed for user X for his group G. Here's what I envision: - User are nodes - Users have FRIEND_WITH relationships (direction being the initial requester to the other) - Groups are nodes. - Group has a CREATED_BY relationship to user - Group has BELONGS_TO relationships to multiple users - Post are nodes - Post has CREATED_BY relationship to the user - Post has VISIBLE_TO relationship to one or more groups - PostingEvent is a node with a timestamp property - PostingEvent has a RELATED_TO relationship to the user and the post And we would have a timeline index (Lucene or B-tree, I have no idea) for feeds retrieval. 1. Do you see issues with my design? 2. What to do with postings to "All my friends", do I create a "All friends" group? In that case do I still need the user-to-user relationships? 3. I never worked with timeline indexes and such, so I could use some readings on the subject, even theorical ones, even dead-tree books. Please don't hesitate to make recommendations. Thanks ! Antoine -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Design-help-for-G-like-app-tp3353185p3353185.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user