0

任何人都可以帮助以最佳方式表示/查询以下问题

  1. 产品可以在商店出售,p1 -> s1, p2 -> s1, p1 -> s2 ...
  2. 产品只能在商店中销售,具体取决于商店的地理位置(北、南、东...)和位置大小(小、中、大)或商店/产品属性的组合。这些限制因素决定了哪些产品将在商店中销售。

我想问一下,我是store s1,我可以卖什么产品?

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

4

1 回答 1

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
于 2012-07-13T11:48:16.440 回答