我正在创建一个出租车网络的图形数据库,在每个节点中存储一个带有一长串属性(日期,费用)的出租车,我在Java中存储一个日期
DATE
格式包含空格但我在匹配时无法访问它。
MATCH (t) WHERE t.name='someTaxi' RETURN t.Sun Mar 01 00:00:00 EET 2015;
但是这没有用,所以我使用了反引号
我使用这样的反引号存储属性键' Sun Mar 01 00:00:00 EET 2015'第二次
MATCH (t) WHERE t.name='someTaxi' RETURN t.'Sun Mar 01 00:00:00 EET 2015';
但这也没有效果。
那么是否可以在 Neo4j 中存储属性键,如何返回?
答案 0 :(得分:1)
您正在以这种方式存储一些数据(json表示):
{name: "someTaxi", Sun Mar 01 00:00:00 EET 2015 : fees}
考虑到Neo使用关系管理此类数据的能力,这种数据模型很糟糕。
您必须使用Neo4j的强大功能创建更好的数据模型:关系。这是你要做的一个例子:
这是节点细节(伪密码表示):
(:Taxi{name:someTaxi})-[:EARNED{date:<Here you set your date>}]->(:Fees{value:<The amount>)
现在,为了匹配您的费用,您只需使用此查询:
MATCH (t:Taxi{name : <taxi Name>})-[r:EARNED{date: <yourDate>}]->(f:Fees)
RETURN f.value