首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在neo4j中模拟"create view“功能的替代方法是什么?

在neo4j中模拟"create view“功能的替代方法是什么?
EN

Stack Overflow用户
提问于 2014-03-19 23:27:46
回答 1查看 450关注 0票数 1

我将大约50万的数据集嵌入到Java应用程序中。我正在尝试完成一些事情,比如:

1-执行朋友之友,如cypher查询(“MATCH (n)-[r:rel*3]->(m) return n,r,m”) 2-在这些子集上执行查询

这个想法类似于SQL中的create view。我在谷歌小组上读到了这篇文章,这看起来是我的担忧。

https://groups.google.com/forum/#!searchin/neo4j/sql$20view/neo4j/kFa8_ZJYzEM/0KuulGphrTYJ

您认为在第一次查询时将节点标记为某种标志是最佳选择吗?在性能方面,当我回想起“标志”节点时,即使它很快,我也会在整个数据集上重新运行查询,所以我猜这有点消耗。有没有什么我忘了的neo4j函数?谢谢。

EN

Stack Overflow用户

发布于 2014-03-20 00:07:43

用某种标志标记节点似乎不是一个很好的选择。您仍然需要查询具有特殊属性的节点,在这种情况下,为什么不重新发出创建视图的原始查询呢?

顺便说一句,这应该是一个选项--只要根据需要重新发出查询即可。现在,您还可以选择其他几个选项:

java层中的

  1. 实现了一个traversal,它封装/返回视图应该是什么,然后处理它。
  2. 不需要添加属性,您可以向节点via a create statement添加标签(您仍然需要查询具有“视图”标签的节点才能对“视图”执行任何操作)
  3. 创建一个特殊的索引节点。将其标记为"VIEW“。然后创建从该索引节点到视图中所有节点的关系(例如,VIEWNODE-r:contains->someObjectInView)。通过抓取索引节点句柄并仅遍历r:contains,您可以快速“重新计算”视图。

最终,您选择的内容取决于您想要对“视图”执行的查询类型。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22510623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档