我是neo4j的新手。
首先,我在neo4j.properties中启用节点自动索引和关系自动索引,并为节点添加属性键person_name,hotel_name。属性键inTime用于关系。 然后我创建了如下数据:
create (:Person {person_name:'p1'})
create (:Person {person_name:'p2'})
create (:Hotel {hotel_name:'h1'} )
create (:Hotel {hotel_name:'h2'} )
start p=node:node_auto_index('person_name:p1'),h=node:node_auto_index('hotel_name:h1')
create (p)-[:STAY_IN {inTime:'20140520'}]->(h)
start p=node:node_auto_index('person_name:p1'),h=node:node_auto_index('hotel_name:h2')
create (p)-[:STAY_IN {inTime:'20140522'}]->(h)
start p=node:node_auto_index('person_name:p2'),h=node:node_auto_index('hotel_name:h1')
create (p)-[:STAY_IN {inTime:'20140510'}]->(h)
现在,我想在20140501和20140530之间查询人p1 STAY_IN h1的结果:
但是密码返回所有数据:
start p=node:node_auto_index('person_name:p1'),
r=relationship:relationship_auto_index('inTime:[20140501 TO 20140530]')
match (p)-[r]-(h) return p,r,h
它返回了p1和p2,我只希望p1返回。
任何人都可以帮助我吗?非常感谢你。
因为我真正的neo4j数据库中存在数据。很多节点和关系。所以我必须使用节点和关系索引来提高性能。