Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Performance Neo4j查询性能改进_Performance_Neo4j_Cypher - Fatal编程技术网

Performance Neo4j查询性能改进

Performance Neo4j查询性能改进,performance,neo4j,cypher,Performance,Neo4j,Cypher,我对Neo4J非常陌生,我使用的查询需要很长时间才能完成。查询如下所示: match (pn:person_name)-[:FOR_PERSON]->(p:person)<-[:FOR_PERSON]-(o:obs)-[:HAS_CONCEPT]->(c:concept)<-[:HAS_CONCEPT]-(n:concept_name), (o)-[:AT_LOCATION]->(l:location), (o)-[:FOR_ENCOUNTER]->(e:e

我对Neo4J非常陌生,我使用的查询需要很长时间才能完成。查询如下所示:

match (pn:person_name)-[:FOR_PERSON]->(p:person)<-[:FOR_PERSON]-(o:obs)-[:HAS_CONCEPT]->(c:concept)<-[:HAS_CONCEPT]-(n:concept_name), (o)-[:AT_LOCATION]->(l:location),

(o)-[:FOR_ENCOUNTER]->(e:encounter)-[:HAS_TYPE]->(et:encounter_type),(c)-[:HAS_CLASS]->(cl:concept_class), 

(c)<-[r:HAS_CONCEPT]-(cd:concept_description)

where pn.given_name="Horatio" AND  pn.middle_name="L" and pn.family_name="Hornblower" with pn, p, o, c,n,e,et,cl,cd,l

return distinct n.name as observation, o.obs_datetime as time, et.description as visittype, l.name as location,cl.name as encountertype,cd.description as description 

ORDER BY o.obs_datetime
匹配(pn:person\u name)-[:FOR\u person]->(p:person)(c:concept)(l:location),
(o) -[:用于遭遇]->(e:遭遇)-[:具有遭遇类型]->(et:遭遇类型),(c)-[:具有遭遇类]->(cl:概念类),

(c) 我将尝试解释neo4j查询的机制:

当您这样做时:

MATCH (a:X)-[]-(b:Y), (b:Y)-[]-(c:Z) where b.someField = someValue
两个匹配都将独立运行,但当您执行以下操作时:

MATCH (a:X)-[]-(b:Y) where b.someField = someValue with b match (b)-[]-(c:Z) return a,b,c
第二个查询将取决于第一个查询的结果,因此级联将返回正确的结果,并且效率也会更高。

1。“所有可能的节点”实际上是指带有
概念描述
标签的所有节点吗?您能否提供显示问题的示例数据?2.为什么需要带有
人名
概念描述
概念名
标签的节点?难道你不能在
person
节点中放置
name
属性,并在
概念
节点中放置
name
description
属性吗?