3

我是 neo4j 数据库的新手。我一直在寻找基于图形的数据库,发现 neo4j 很有趣。我想知道是否可以以关系数据库样式查询 neo4j 数据库。让我用一个例子来解释我自己:

我有一个班级所有学生的图形数据库。节点包含学生信息,关系是“友谊”。每个节点都有学生姓名、班级和 cgpa 等属性。现在我想获取 cgpa > 4 的所有学生的列表。是否可以在 neo4j 中的单个查询中执行此操作?还是我需要找到所有节点然后操作它们?

如果有人能指出一些用于 Neo4j 查询的好资源,那也将非常有帮助。

4

1 回答 1

2

我一直使用Neo4j 文档。如果您使用的是 Spring Data Neo4j,免费书籍Good Relationships也可能会有所帮助。

有一种称为Cypher的查询语言。文档中甚至有一些示例可能非常适合您的案例[1]

start n=(2, 1) where n.age < 30 return n

这个从 id 为 2 和 1 的给定节点开始,如果它们的年龄属性低于 30,则返回它们。start n=(*)将为每个节点执行此操作。您应该阅读整个规范。

根据您所做的以及您希望如何查找特定节点,您可以使用indices

但是,您不应该像使用关系数据库那样使用图形数据库。对于您描述的场景,它可能没问题,但是尝试以一种您以后可以在遍历时使用它们的方式设计关系。它要快得多。

于 2012-06-19T07:12:53.010 回答