Hi Micheal,
sorry for the late reply... i like your solution that use two properties on the KNOWS relationship, it's very simple and fast to use! Probably it's not so expressive as a relation, but it works perfectly.
Due to my curiosity, in the meanwhile i'm experimenting the other solution that use a custom relationship.
So i have introduced a generic "RESTRICTS" relationship (between two user nodes) to indicate that there is a particolar block.
Properties on this relationship specify the block type (for example RESTRICTS.hideUserFeed=1 blocks the newsfeed of the end node) .
However i have encountered a strange behaviuor when i try to use cypher for obtaining data... i've attached some Neoclipse screenshots for better understand the problem...
the "db.jpg" image shows a subgraph of my test database: the user node "angelinajolie" is connected to "johnnydeep", "serenaautieri" and "carolalt" nodes with the "KNOWS" relationship.
There is a "RESTRICTS" relationship between "angelinajolie" and "serenaautieri" in order to blocks "serenaautieri" newsfeed ( the value of hideUserFeed property is equal to 1).
So this should be the cypher query to obtaining the newsfeed of the user "angelinajolie" (id=18):
START n=node(18)
MATCH n-[r:KNOWS]-friend-[t:HAS_POST]->post, n-[z?:RESTRICTS]->friend
WHERE z.hideUserFeed?=0
RETURN friend, post
But as you can see on the attached images, that query returns "serenaautieri" posts...
I hope it's my fault :)
thanks,
Fabio