Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher-如何查询';继承的';子节点上的reations?_Neo4j_Neo4j Cql - Fatal编程技术网

Neo4j Cypher-如何查询';继承的';子节点上的reations?

Neo4j Cypher-如何查询';继承的';子节点上的reations?,neo4j,neo4j-cql,Neo4j,Neo4j Cql,我想使用Cypher查询产品的所有有效规范,但这些规范是在产品的不同父级定义的 我有一个数据模型,它表示一个产品分类树,级别为C1、C2、C3。。。最低级别的产品P。为了简化产品规范的维护和数据输入,在分类级别定义了产品规范的有效性。产品“继承”对其所有父类别有效的规范,直至分类树的根 图中显示了(简化的)数据模型。在这种情况下,产品规格定义为分类级别C1、C2和C3。该产品连接到最低分类级别C3。 我的目标是根据与分类级别C1、C2和C3的关系,查询对产品P有效的所有规范 我有以下问题: 这

我想使用Cypher查询产品的所有有效规范,但这些规范是在产品的不同父级定义的

我有一个数据模型,它表示一个产品分类树,级别为C1、C2、C3。。。最低级别的产品P。为了简化产品规范的维护和数据输入,在分类级别定义了产品规范的有效性。产品“继承”对其所有父类别有效的规范,直至分类树的根

图中显示了(简化的)数据模型。在这种情况下,产品规格定义为分类级别C1、C2和C3。该产品连接到最低分类级别C3。 我的目标是根据与分类级别C1、C2和C3的关系,查询对产品P有效的所有规范

我有以下问题:

  • 这是否可以通过一个密码查询实现
  • 大型数据库中最好的查询策略是什么?使用查询?为产品的所有有效规范创建真正的关系,而不是查询“继承的”规范
  • 更改数据模型
  • 其他提示


    谢谢

    通过匹配可变长度的图案,您可以找到产品的所有规格

    假设您有一个参数
    productId
    ,您将使用如下内容

    MATCH (p:PRODUCT {productId:$productiId)-[:BELONGS_TO*]->(c:Category)<-[:VALID_FOR]-(s:Specification)
    RETURN s
    
    MATCH(p:PRODUCT{productId:$productiId)-[:bellings\u TO*]->(c:Category)谢谢!表示a的“bellings\u TO”关系后面的“*”起了作用。我需要花一些时间阅读整个密码手册:)