图数据库中的逻辑运算符(neo4j)

时间:2016-07-04 12:46:38

标签: neo4j logical-operators business-logic

编辑:可能重复:neo4j logic gate simulation, how to?

我有一个neo4j数据库,其中包含Options,OptionValues,Configurations,Products和LogicalNodes。具体来说,Configuration只是所选OptionValues的集合,每个Option对应一个OptionValues。另一方面,LogicalNodes尝试将OptionValues的哪些组合指向一个(或多个)特定产品。

这里有一个例子: enter image description here

你可以看到在这个图中有3个选项,2个有2个OptionValues,1个只有1个OptionValue。每个OptionValue都通过一个或多个LogicalNodes链接到Product。 LogicalNodes可以相互链接,有3种类型的LogicalNodes(AND,OR,NOT(未显示))。

现在我的问题是,我知道如何使用此密码获取与给定配置相关的所有产品,而不考虑LogicalNodes:MATCH p = (:Configuration {Id:"CONF1ID"})-[r1*]->(pi:ProductInstance) return pi

但是,我没有提出使用LogicalNodes过滤掉无效路径的查询。无效(子)路径将是:

  1. 一个LogicalNode,其中Type等于“AND”有更多的传入:HAS_LOGIC 关系比在路上。
  2. 一个LogicalNode,其中Type等于“NOT”有传入:HAS_LOGIC 路径中存在的关系。
  3. 有没有人试图在图表中对包含逻辑信息的图表进行建模,并在解决方案中偶然发现?

0 个答案:

没有答案