我在图形世界中更新,今天,在我为一些图表建模以控制帐户交易时,我遇到了以下问题:"当我们存储交易时,最好的方法是什么?谈论约会?"
我考虑了两个节点,帐户和事务,以及事务的日期,比如节点事务的属性。
我想到了两个节点,帐户和交易,以及交易的日期,比如关系的属性。
现在,我正在考虑一个帐户节点,其他多年,其他几个月,其他几天,然后其他用于交易,如树。
哪一种(或者如果我们还有另一种情况)哪一种最适合在Neo4j中使用?哪一个具有最佳性能?如果我有10亿笔交易,哪一笔最好?
谢谢大家! 阿兰奥利维拉
P.S。:对我的英语很好。答案 0 :(得分:1)
正如Cybersam所提到的,有很多方法可以对数据进行建模。
由于Neo4j是无模式的,这通常是一个优势,有时在建模方面则相反。
在阅读评论后我会给两美分:
要检索帐户的最后一笔交易,通常的做法是使用链接列表
(account)<-[:LAST_TRANSACTION]-(transaction)<-[:PREVIOUS_TRANSACTION]-(transaction)
当你想在图形中的多方之间进行模式匹配时,这有一些优点,但是当使用Cypher时,这对写入时间来说是一个繁重的操作(虽然你需要在达到它之前有很大的写入吞吐量但是我达到了它在一个应用程序已经),在Java中没关系。
此处提供了一些文档:http://neo4j.com/docs/stable/cypher-cookbook-newsfeed.html
拿一篇论文,问你一个关于你想对图表提出什么要求并将问题描述为节点和关系的问题,所以要声明一下,确切地询问你想要检索的内容而不是如何。做10,20,30次,你会看到,通过可视化你画的东西,新的问题将自然而然地出现。然后测试它,尝试加载一些数据并进行一些查询。
如果事情仍然不清楚,请扫描您的图纸并在此处根据您找到的问题修改问题,我们非常乐意为您提供帮助。