本文共 1772 字,大约阅读时间需要 5 分钟。
Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言。类似于Oracle数据库具有查询语言SQL,Neo4j则具有CQL作为查询语言。CQL的设计目标是高效处理图形数据,采用声明性模式匹配的方式,语法简单且易于阅读。
CQL命令是Neo4j图形数据库操作的核心工具,主要包括以下几种:
Neo4j支持通过CSV文件导入数据,以下是常用命令示例:
load csv from 'file:///triples.csv' as line create (:xiyouRelation {from:line[1], relation:line[3], to:line[0]}) load csv from 'file:///people.csv' as line create (:person {name:line[0]}) 在Neo4j中,创建节点和关系的方式如下:
# 创建简单节点create (n)# 创建多个节点create (n),(m)# 创建带标签和属性的节点并返回节点create (n:person {name:'如来'}) return n # 创建关系CREATE (n:person {name:'杨戬'})-[r:师傅]->(m:person {name:'玉鼎真人'}) return type(r) # 创建复杂关系MATCH (n:person {name:'孙悟空'}),(m:xiyouRelation),(s:person) WHERE m.from=n.name AND m.to=s.name CREATE (n)-[:西游人物关系{relation:m.relation}]->(s) RETURN id(m),n.name,m.relation,s.name 使用MATCH命令进行查询,具体示例如下:
MATCH (n:xiyouRelation) RETURN n LIMIT 25
MATCH (n:person {name:'孙悟空'}) RETURN n MATCH (n:person {name:'孙悟空'}),(m:xiyouRelation) WHERE m.from=n.name RETURN id(m),n.name,m.relation,m.to RETURN子句用于获取查询结果,支持返回特定属性或全部属性:
MATCH (n:xiyouRelation) RETURN id(n),n.from,n.to,n.relation
WHERE子句用于过滤查询结果,语法与SQL类似:
MATCH (n:person) WHERE n.name='孙悟空' OR n.name='猪八戒' RETURN n
使用DELETE命令删除节点和关系:
MATCH (n:person{name:"白龙马"}) DELETE n 使用REMOVE命令删除节点或关系的属性:
MATCH (n:role {name:"fox"}) REMOVE n.age RETURN n 使用SET命令添加或更新属性:
MATCH (n:role {name:"fox"}) SET n.age=32 RETURN n 使用ORDER BY和DESC子句进行排序:
MATCH (n:person) RETURN id(n),n.name ORDER BY id(n) DESC
CQL还支持UNION、LIMIT、SKIP、DISTINCT等命令,用于优化查询结果。如需进一步了解,请参考Neo4j官方文档。
通过以上命令,可以高效地在Neo4j中管理图形数据,进行数据检索和操作。
转载地址:http://afcfk.baihongyu.com/