Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/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 图形数据库中的推荐建模_Neo4j_Graph Databases - Fatal编程技术网

Neo4j 图形数据库中的推荐建模

Neo4j 图形数据库中的推荐建模,neo4j,graph-databases,Neo4j,Graph Databases,我是图形数据库领域的新手,不知道以下产品买卖关系经典场景的推荐建模选项: 史蒂夫从亚马逊购买了iphone6plus (:Person {name: "Steve"})-[:BOUGHT]->(p:Purchase {id:987, total: 655.99, tax: 56.00}) (p)-[:PRODUCT {price: 599.99}]->(iPhone:Product {name: "iPhone 6 Plus"}) (p)-[:SELLER]->(:Compa

我是图形数据库领域的新手,不知道以下产品买卖关系经典场景的推荐建模选项:

  • 史蒂夫从亚马逊购买了iphone6plus

    (:Person {name: "Steve"})-[:BOUGHT]->(p:Purchase {id:987, total: 655.99, tax: 56.00})
    (p)-[:PRODUCT {price: 599.99}]->(iPhone:Product {name: "iPhone 6 Plus"})
    (p)-[:SELLER]->(:Company {name: "Amazon"})
    

    创建(Steve:Person{name:“Steve”})-[b1:Buyed]->(iPhone:Product{name:“iPhone 6 Plus”})(iPhone)作为一个简单的选项,您可以添加一个与销售
    公司
    相关的
    购买节点和一个或多个从该公司购买的
    产品

    下面说明了数据模型,而不是任何Cypher子句

    • 史蒂夫从亚马逊购买了iphone6plus

      (:Person {name: "Steve"})-[:BOUGHT]->(p:Purchase {id:987, total: 655.99, tax: 56.00})
      (p)-[:PRODUCT {price: 599.99}]->(iPhone:Product {name: "iPhone 6 Plus"})
      (p)-[:SELLER]->(:Company {name: "Amazon"})
      
    • 迈克尔随后也从eBay购买了iPhone6Plus

      (:Person {name: "Michael"})-[:BOUGHT]->(p:Purchase {id:456, total: 599.99, tax: 0.00}})
      (p)-[:PRODUCT {price: 599.99}]->(iPhone:Product {name: "iPhone 6 Plus"})
      (p)-[:SELLER]->(:Company {name: "eBay"})
      
    Steve
    进行购买的实际查询可能如下所示:

    MERGE (person:Person {name: "Steve"})
    MERGE (prod:Product {name: "iPhone 6 Plus"})
    MERGE (co:Company {name: "Amazon"})
    CREATE
      (person)-[:BOUGHT]->(p:Purchase {id:987, total: 655.99, tax: 56.00}),
      (p)-[:PRODUCT {price: 599.99}]->(prod),
      (p)-[:SELLER]->(co);
    

    这种模式的瓶颈在于,它不能表明亚马逊一般销售iPhone产品,除非它是由Steven购买的。这不是问题,因为亚马逊(和eBay)仍然可以与同一款iPhone产品保持销售关系。但是我的答案也可能不代表你想要使用的实际模型,因为你必须考虑所有的用例。