使用图形数据库进行域建模过滤

时间:2012-07-10 23:23:35

标签: neo4j graph-databases

任何人都可以帮助您找到代表/查询以下问题的最佳方式

  1. 产品可以在商店出售,p1 - > s1,p2 - > s1,p1 - > s2 ......
  2. 产品只能在商店出售,具体取决于商店的地理位置(北,南,东......)和位置大小(小,中,大)或商店/产品属性的组合。这些限制促使哪些产品将在商店中销售。
  3. 我想问一下,我是商店s1我可以卖什么产品?

    感谢任何关于解决这个问题的好方法的想法,我认为像neo4j这样的图形数据库是合适的,但使用这些数据库的经验有限,所以任何指针都是有价值的。

1 个答案:

答案 0 :(得分:1)

您可以将位置和大小建模为节点,并将商店连接到它们,然后您可以使用Cypher http://docs.neo4j.org/chunked/snapshot/cypher-query-lang.html对它们进行查询,请参阅http://tinyurl.com/d8lnvbm示例

START p=node(1) match p-[:SOLD_IN]->store-[:LOCATED]->l, store-[:CATEGORY]->c
WHERE l.name="north" AND c.name="big" 
RETURN store