节点
关系
属性
标签
第一步:将neo4j安装信息载入到yum检索列表
sudo rpm --import https://debian.neo4j.com/neotechnology.gpg.key
sudo yum-config-manager --add-repo https://yum.neo4j.com/stable
第二步:使用yum install命令安装
yum install neo4j
第三步:修改配置文件默认在/etc/neo4j/neo4j.conf
dbms.directories.data=/var/lib/neo4j/data
dbms.directories.plugins=/var/lib/neo4j/plugins
dbms.directories.certificates=/var/lib/neo4j/certificates
dbms.directories.logs=/var/log/neo4j
dbms.directories.lib=/usr/share/neo4j/lib
dbms.directories.run=/var/run/neo4j
dbms.directories.import=/var/lib/neo4j/import
dbms.memory.heap.initial_size=512m
dbms.connectors.default_listen_address=0.0.0.0
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473
dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=:7687
第四步:启动neo4j数据库
# 启动命令
neo4j start
其中:GPG(GNU Privacy Guard)是一种加密软件,用于加密通信和验证软件包的完整性和来源。在Linux系统中,软件包管理器(如yum或dnf)会使用GPG密钥来验证下载的软件包是否来自可信的源,并且没有被篡改。
或者可以将neo4j服务放置在supervisor控制:
先运行:chown -R neo4j:neo4j /var/lib/neo4j
然后去supervisord.conf中添加:
[program:neo4j]
command=neo4j console
user=neo4j
autostart=true
autorestart=unexpected
startsecs=30
startretries=999
priorities=90
exitcodes=0,1,2
stopsignal=SIGTERM
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile=/var/log/neo4j.out
stdout_logfile_backups=10
stderr_capture_maxbytes=20MB
如果是在云服务器上,那么现在就可以使用http://(主机公网IP):7474 来访问neo4j的浏览器界面~
注意:云服务器上一定用到什么端口就去开哪个端口,否则访问不成功!
创建图数据中的节点
CREATE (e:Employee{id:222, name:'Bob', salary:6000, deptnp:12})
匹配(查询)已有数据
MATCH (e:Employee) RETURN e.id, e.name, e.salary, e.deptno
MATCH (n) return n # 查询所有结点
若节点存在,则等效与match命令; 节点不存在,则等效于create命令。
MERGE (e:Employee {id:146, name:'Lucer', salary:3500, deptno:16})
必须创建有方向性的关系,否则报错。
CREATE (p1:Profile1)-[r:Buy]->(p2:Profile2) # p1购买了p2
可以创建有/无方向性的关系。
MERGE (p1:Profile1)-[r:miss]-(p2:Profile2)
类似于SQL中的添加查询条件。
MATCH (e:Employee) WHERE e.id=123 RETURN e
删除节点/关系及其关联的属性。
MATCH (p1:Profile1)-[r]-(p2:Profile2) DELETE p1, r, p2
Cypher命令中的排序使用的是order by
MATCH (e:Employee) RETURN e.id, e.name, e.salary, e.deptno ORDER BY e.id
# 如果要按照降序排序,只需要将ORDER BY e.salary改写为ORDER BY e.salary DESC
MATCH (e:Employee) RETURN e.id, e.name, e.salary, e.deptno ORDER BY e.salary DESC
pip install neo4j-driver
需要使用驱动程序连接到Neo4j数据库。我们需要提供数据库的URI、用户名和密码。
from neo4j import GraphDatabase
uri = "bolt://localhost:7687" # Neo4j数据库的Bolt协议URI
user = "neo4j" # 你的Neo4j用户名
password = "your_password" # 你的Neo4j密码
driver = GraphDatabase.driver(uri, auth=(user, password))
有了driver
对象,就可以使用它来创建会话(session),并在会话中执行Cypher查询。
def create_person(tx, name, age):
tx.run("CREATE (a:Person {name: $name, age: $age})", name=name, age=age)
def read_person(tx, name):
result = tx.run("MATCH (a:Person) WHERE a.name = $name RETURN a.name, a.age", name=name)
for record in result:
print(record["a.name"], record["a.age"])
with driver.session() as session:
# 创建一个Person节点
session.write_transaction(create_person, "Alice", 30)
# 读取并打印名为Alice的Person节点的信息
session.read_transaction(read_person, "Alice")
# 关闭驱动程序连接(可选,通常会在程序结束时自动关闭)
driver.close()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。