我仍在尝试理解为什么为什么针对neo4j中的某种查询而不是针对另一种格式收到笛卡尔乘积警告。这是我设置数据库的方式:
CREATE (q:Form {version: "1.0"})
CREATE (q:Question {text: "Sector de la empresa", active: true})
Run Code Online (Sandbox Code Playgroud)
然后,我尝试了以下查询:
MATCH
(f:Form {version: "1.0"}),
(q:Question {text: "Sector de la empresa"})
CREATE (f)-[:asks]->(q)
RETURN f, q
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下警告:
This query builds a cartesian product between disconnected patterns.
If a part of a query contains multiple disconnected patterns,
this will build a cartesian product between all those parts.
This may produce a large amount of data and slow down query processing.
While occasionally intended, it may often be …Run Code Online (Sandbox Code Playgroud) 我是 neo4j 的初学者,我正在查看他们的一个示例(目标是“推荐 3 位基努·里维斯应该合作(但没有合作)的演员”):
MATCH (keanu:Person {name:"Keanu Reeves"})-[:ACTED_IN]->()<-[:ACTED_IN]-(c),
(c)-[:ACTED_IN]->()<-[:ACTED_IN]-(coc)
WHERE coc <> keanu AND NOT((keanu)-[:ACTED_IN]->()<-[:ACTED_IN]-(coc))
RETURN coc.name, count(coc)
ORDER BY count(coc) DESC
LIMIT 3;
Run Code Online (Sandbox Code Playgroud)
然而,在“coc <> keanu”(第三行)中,我不知道<>表示什么。有人可以帮我澄清一下吗?我尝试在手册和其他地方查找,但找不到。谢谢!
每当我尝试在neo4j中划分某些东西时,我都会一直为零。我正在使用以下查询:
MATCH (m:Member)-[:ACTIVITY{issue_d:"16-Jan"}]->(l:Loan)
MATCH (m)-[:ACTIVITY]->(p:Payments)
WHERE l.installment<1000 AND p.total_pymnt>0
RETURN (l.funded_amnt-p.total_pymnt),(l.funded_amnt-p.total_pymnt)/(l.funded_amnt), l.funded_amnt, p.total_pymnt, m.member_id
LIMIT 1000;
Run Code Online (Sandbox Code Playgroud)
我检查以确保funded_amnt和的值total_pymnt不会弄乱它们看起来不错的操作:
即使我只是这样做:
500/l.funded_amnt
Run Code Online (Sandbox Code Playgroud)
我仍然为零。我究竟做错了什么?