下面的示例使用公开的Neo4j 电影数据库。
创建数据模型
在创建属性图表数据库之前,开发适当的数据模型非常重要。这将为数据提供结构,并允许图表用户高效地检索他们正在寻找的信息。
Neo4j 数据模型采用以下数据模型:

它包括两种类型的节点标签:
-
Person节点具有以下属性:name和born。 -
Movie节点具有以下属性:title、released和tagline。
数据模型还包含Person和Movie节点之间的五种不同关系类型:ACTED_IN、DIRECTED、PRODUCED、WROTE和REVIEWED。其中两种关系类型具有属性:
-
关系
ACTED_IN类型,具有roles属性。 -
关系
REVIEWED类型,它有一个summary属性和一个rating属性。
要了解有关图形数据库数据建模的更多信息,请参加 GraphAcademy 提供的免费图形数据建模基础课程。
创建属性图形数据库
创建 Neo4j 电影数据库的完整 Cypher 查询可在此处找到。要创建完整图表,请针对空 Neo4j 数据库运行完整查询。
查找节点
该MATCH子句用于查找图中的特定模式,例如特定节点。该RETURN子句指定要返回找到的图形模式中的哪些内容。
例如,此查询将查找具有Person标签和名称的节点Keanu Reeves,并返回找到的节点的name和属性:born
MATCH (keanu:Person {name:'Keanu Reeves'})
RETURN keanu.name AS name, keanu.born AS born
| 姓名 | 出生 |
|---|---|
| 行:1 |
|
|
|
|
还可以查询图中的多个节点。此查询会匹配所有带标签的节点Person,并将结果限制为仅包含五行。
MATCH (people:Person)
RETURN people
LIMIT 5
| 人们 |
|---|
| 行:5 |
|
|
|
|
|
|
|
|
|
|
关于条款组成的说明
与 SQL 类似,Cypher 查询使用各种子句构建,这些子句链接在一起以在彼此之间提供中间结果。每个子句的输入都是图的状态和由引用变量组成的中间结果表。第一个子句将查询前的图的状态和一个空的中间结果表作为输入。一个子句的输出是图的新状态和新的中间结果表,作为下一个子句的输入。最后

最低0.47元/天 解锁文章
996

被折叠的 条评论
为什么被折叠?



