下面的示例使用公开的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 查询使用各