Neo4j 如果node2.parameter=0,则返回node.name
当你给某人x某物y以某个价格以某个价格永远-这被称为“卖出”。但是当你给某人某物以某时间的价格时,它被称为“租金”。当它的操作没有成本时,它被称为“当前” 我想使用neo4j进行此操作。但我不想为每种exchange类型创建单独的节点集,因为重点是要说明它们是如何相同的,但操作名称取决于变量参数-成本和时间Neo4j 如果node2.parameter=0,则返回node.name,neo4j,cypher,Neo4j,Cypher,当你给某人x某物y以某个价格以某个价格永远-这被称为“卖出”。但是当你给某人某物以某时间的价格时,它被称为“租金”。当它的操作没有成本时,它被称为“当前” 我想使用neo4j进行此操作。但我不想为每种exchange类型创建单独的节点集,因为重点是要说明它们是如何相同的,但操作名称取决于变量参数-成本和时间 如果价格为零,如何返回OperationName.name:“Gift”?这里是一个建议的简单模型。交易节点具有一个价格属性和一个可选的到期属性,由一个人提供,另一个人“接收”,并与商品项
如果价格为零,如何返回OperationName.name:“Gift”?这里是一个建议的简单模型。
交易
节点具有一个价格
属性和一个可选的到期
属性,由一个人
提供,另一个人“接收”,并与商品
项目关联
在这里,我创建了两个示例事务:
CREATE
(a:Person { name: "A" })-[:PROVIDED]->(t:Transaction { price: 13997.95, expires: 1234567})-[:ITEM]->(:Goods { name: "Truck" }),
(b:Person { name: "B" })-[:RECEIVED]->(t),
(b)-[:PROVIDED]->(t2:Transaction { price: 0 })-[:ITEM]->(:Goods { name: "Candy" }),
(c:Person { name: "C" })-[:RECEIVED]->(t2);
在这里,我把所有交易的信息都倒出来——包括是否是礼物(相对于购买)和是否是租金:
MATCH
(provider:Person) -[:PROVIDED]-> (t:Transaction) -[:ITEM]-> (goods:Goods),
(receiver:Person) -[:RECEIVED]-> (t)
RETURN
t.price = 0 AS isPresent, t.expires IS NOT NULL AS isRental, provider.name, receiver.name, t.price, goods.name, t.expires;
结果如下:
+------------------------------------------------------------------------------------------+
| isPresent | isRental | provider.name | receiver.name | t.price | goods.name | t.expires |
+------------------------------------------------------------------------------------------+
| false | true | "A" | "B" | 13997.95 | "Truck" | 1234567 |
| true | false | "B" | "C" | 0 | "Candy" | |
+------------------------------------------------------------------------------------------+
请参见。能否将标题更改为更具表达力的内容?基于此,最初我怀疑这篇文章只是垃圾邮件。(其余的似乎都没问题)是的,没问题。我认为最后一句话更适合标题。如果货物和买方与价格无关,你不能查询价格。我认为你必须修改你的图形模型,并将人员/商品/价格实际连接到OperationName节点。这只是对我未来的提醒。neo4jit令人难以置信,是JSFIDLE的不错替代品。您在cypher方面有着惊人的头脑和经验!)非常感谢。
+------------------------------------------------------------------------------------------+
| isPresent | isRental | provider.name | receiver.name | t.price | goods.name | t.expires |
+------------------------------------------------------------------------------------------+
| false | true | "A" | "B" | 13997.95 | "Truck" | 1234567 |
| true | false | "B" | "C" | 0 | "Candy" | |
+------------------------------------------------------------------------------------------+