Neo4j是一个高度可扩展的原生图数据库管理系统,它具有成熟数据库的所有特性。在Neo4j中,数据被表示为节点(Node)、关系(Relationship)、属性(Property)和标签(Label)等元素。下面是关于Neo4j实体和关系的定义:
(startNode)-[relationship]->(endNode)
的形式。KNOWS
、LOVES
、WORKS_FOR
等,这些类型可以扩展以适应特定的应用需求。在Neo4j中定义实体和关系通常涉及以下步骤:
CREATE (n:Label {property:value})
语句创建具有特定标签和属性的节点。例如,CREATE (p:Person {name:"Alice", age:30})
将创建一个名为Alice的30岁的人的节点。CREATE (n1)-[r:RelationshipType {property:value}]->(n2)
语句在两个节点之间创建具有特定类型和属性的关系。例如,CREATE (p1:Person {name:"Bob"})-[r:KNOWS {since:2020}]->(p2:Person {name:"Alice"})
将在Bob和Alice之间创建一个从2020年开始的KNOWS
关系。MATCH (n)-[r]->(m) RETURN n, r, m
等Cypher查询语言语句来查询和分析节点和关系。通过灵活地定义和使用实体和关系,可以充分利用Neo4j在图数据存储和处理方面的强大功能。