Cypher 查询:如何计算 Agensgraph 和 SAP HANA 中的余弦相似度
Cypher query: How to compute cosine similarity in Agensgraph, and SAP HANA
我想使用 cypher 在 GraphDBes 中测试简单的图形分析性能。
我参考了 this site 并在 Neo4j、Agensgraph、SAP HANA 和 Redis 中重现了示例。
但密码查询(见下文)在 Agensgraph 和 SAP HANA 中不运行。
MATCH (p1:Person {name:'Michael Sherman'})-[r1:RATED]->(m:Movie)<-[r2:RATED]-(p2:Person {name:'Michael Hunger'}) RETURN m.name AS Movie, r1.rating AS `M. Sherman's Rating`, r2.rating AS `M. Hunger's Rating`
我认为第二个箭头模式在 Agensgraph 和 SAP HANA 中不起作用。
如何编辑此查询以在 Agensgraph 和 SAP HANA 中运行?
我已经解决了由于查询语言语法差异引起的类似问题。
这是我在 AgesnGraph 中找出相似性的查询。您只需稍作修改即可计算余弦相似度。
MATCH (u1:users {userid:'Toby'})-[r1:hasrated]->(m:movies)<-[r2:hasrated]-(u2:users)
WITH distinct u1.userid as u1name, u2.userid as u2name,
SUM(r1.rating::float*r2.rating::float) as xyDotProduct,
SQRT(SUM(r1.rating::float^2)) as xLength,
SQRT(SUM(r2.rating::float^2)) as yLength
RETURN u1name, u2name, xyDotProduct::float/(xLength::float*yLength::float) as similarity;
我想使用 cypher 在 GraphDBes 中测试简单的图形分析性能。
我参考了 this site 并在 Neo4j、Agensgraph、SAP HANA 和 Redis 中重现了示例。
但密码查询(见下文)在 Agensgraph 和 SAP HANA 中不运行。
MATCH (p1:Person {name:'Michael Sherman'})-[r1:RATED]->(m:Movie)<-[r2:RATED]-(p2:Person {name:'Michael Hunger'}) RETURN m.name AS Movie, r1.rating AS `M. Sherman's Rating`, r2.rating AS `M. Hunger's Rating`
我认为第二个箭头模式在 Agensgraph 和 SAP HANA 中不起作用。
如何编辑此查询以在 Agensgraph 和 SAP HANA 中运行?
我已经解决了由于查询语言语法差异引起的类似问题。
这是我在 AgesnGraph 中找出相似性的查询。您只需稍作修改即可计算余弦相似度。
MATCH (u1:users {userid:'Toby'})-[r1:hasrated]->(m:movies)<-[r2:hasrated]-(u2:users)
WITH distinct u1.userid as u1name, u2.userid as u2name,
SUM(r1.rating::float*r2.rating::float) as xyDotProduct,
SQRT(SUM(r1.rating::float^2)) as xLength,
SQRT(SUM(r2.rating::float^2)) as yLength
RETURN u1name, u2name, xyDotProduct::float/(xLength::float*yLength::float) as similarity;