Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Neo4j 在图形数据库(ArangoDB)中表示日期的正确方法是什么?_Neo4j_Graph Databases_Arangodb - Fatal编程技术网

Neo4j 在图形数据库(ArangoDB)中表示日期的正确方法是什么?

Neo4j 在图形数据库(ArangoDB)中表示日期的正确方法是什么?,neo4j,graph-databases,arangodb,Neo4j,Graph Databases,Arangodb,在图形数据库中将日期表示为节点(在单独的集合中)而不是属性时,是否存在任何缺陷?通常我会说,您将日期表示为顶点或边上的属性。我不确定以前是否见过一个节点 节点与属性之间的真正问题归结为您将使用日期做什么 如果要使用它们在图形中遍历(例如,从订单中查找同一日期下的所有其他订单),则我会将它们作为节点。如果要使用它们过滤遍历(例如,在X日期查找所有订单或在X和Y之间查找所有订单),则将其作为属性 我不太明白这个答案。Neo4j节点与顶点同义。和节点具有属性。“节点与属性”是什么意思?关系(边)也可能

在图形数据库中将日期表示为节点(在单独的集合中)而不是属性时,是否存在任何缺陷?

通常我会说,您将日期表示为顶点或边上的属性。我不确定以前是否见过一个节点

节点与属性之间的真正问题归结为您将使用日期做什么


如果要使用它们在图形中遍历(例如,从订单中查找同一日期下的所有其他订单),则我会将它们作为节点。如果要使用它们过滤遍历(例如,在X日期查找所有订单或在X和Y之间查找所有订单),则将其作为属性

我不太明白这个答案。Neo4j节点与顶点同义。和节点具有属性。“节点与属性”是什么意思?关系(边)也可能有属性。也许你说的是由它自己的节点表示的日期(仍然需要一个属性来存储日期值),而不是其他类型节点的日期属性?是的,如果我不清楚的话,很抱歉。我指的是一个带有“date”标签的顶点,它有一个包含日期的属性,而不是将date属性放在不同的顶点上。根据经验,在ArangoDB中存储日期的最佳方法是将其转换为UnixEpochTime(如果需要,以毫秒为单位),并将其作为顶点或边的属性存储。通过这种方式,您可以执行经典的日期查询,如之前、之后、之间、外部等,因为它们存储为数字。谢谢大家,您的回答表明我的问题足够具体。虽然我不是100%确信我会继续把日期作为财产。在图形数据库中,关于某个对象是属性还是顶点的讨论非常广泛。如果有人有此类讨论的链接,请将其发布。将此作为帮助您回答问题的一种方式。如果不使用图形数据库,您将如何存储日期?在您的用例中,您是通过为每个日期创建一行、使用多对多表将日期与数据关联来解决问题,还是向行中添加一个日期列,并使用该技术将日期与数据关联起来。这是图形数据库的一个重要数据建模问题。RDBMS或NOSQL数据库中的行类似于顶点。多对多的桌子就像边缘。希望这能帮助你回答你的问题。