CYPHER 中的@FETCH 等价物
EQUIVALENT OF @FETCH IN CYPHER
任何人都可以帮助在单个密码查询中填充连接的节点。我使用 Neo4j Server,似乎批处理命令是可行的方法。一整天都在努力弄清楚。
START n=node:ErrandLocation('withinDistance:[-2.80, 56.34, 100.00]') WITH n MATCH person-[r:POSTED]->n WITH n, person SET n.owner = person RETURN n ORDER BY n.added DESC SKIP 0 LIMIT 10
Exception is "[Node[184]:org.neo4j.kernel.impl.core.NodeProxy] is not a supported property value"
您正在为节点设置 属性?
你可能想建立关系?但是你已经有了 :POSTED
个?
或者您要设置 n.owner = person.name
?
当您编写自己的密码查询时,使用@QueryResult 检索连接的节点。不要在 SDN Rest 中使用 @Fetch 注释,因为路径匹配将连续发生而不是批量发生。当可以在单个查询中完成时,SDN 将进行额外的 REST 调用以尝试序列化整个对象图。
例如,
public class Person {
@RelatedTo (type = "MARRIED", direction = BOTH)
private Person partner;
}
@QueryResult
public class PersonResult {
@ResultColumn("person")
private Person person;
@ResultColumn("partner")
private Person partner;
}
然后在您的存储库中获取您的结果
public interface PersonRepository extends GraphRepository <Person> {
@Query ("MATCH person-[m:MARRIED]-partner RETURN person, partner)
List<PersonResult> findAllMarried ();
}
在有问题的情况下,只是 return 批量获取您的密码查询对象并使用 @ResultColumn 字段或接口方法的人。
任何人都可以帮助在单个密码查询中填充连接的节点。我使用 Neo4j Server,似乎批处理命令是可行的方法。一整天都在努力弄清楚。
START n=node:ErrandLocation('withinDistance:[-2.80, 56.34, 100.00]') WITH n MATCH person-[r:POSTED]->n WITH n, person SET n.owner = person RETURN n ORDER BY n.added DESC SKIP 0 LIMIT 10
Exception is "[Node[184]:org.neo4j.kernel.impl.core.NodeProxy] is not a supported property value"
您正在为节点设置 属性?
你可能想建立关系?但是你已经有了 :POSTED
个?
或者您要设置 n.owner = person.name
?
当您编写自己的密码查询时,使用@QueryResult 检索连接的节点。不要在 SDN Rest 中使用 @Fetch 注释,因为路径匹配将连续发生而不是批量发生。当可以在单个查询中完成时,SDN 将进行额外的 REST 调用以尝试序列化整个对象图。 例如,
public class Person {
@RelatedTo (type = "MARRIED", direction = BOTH)
private Person partner;
}
@QueryResult
public class PersonResult {
@ResultColumn("person")
private Person person;
@ResultColumn("partner")
private Person partner;
}
然后在您的存储库中获取您的结果
public interface PersonRepository extends GraphRepository <Person> {
@Query ("MATCH person-[m:MARRIED]-partner RETURN person, partner)
List<PersonResult> findAllMarried ();
}
在有问题的情况下,只是 return 批量获取您的密码查询对象并使用 @ResultColumn 字段或接口方法的人。