Neo4j介紹與使用

2021-07-10 09:01:50 字數 1503 閱讀 5912

#!/usr/bin/env python

# -*- coding: utf-8 -*-

## neo4j圖形資料庫示例

# from neo4j import graphdatabase, incoming

# 建立或連線資料庫

db = graphdatabase('neodb')

# 在乙個事務內完成寫或讀操作

with db.transaction:

#建立使用者組節點

users = db.node()

# 連線到參考節點,方便查詢

db.reference_node.users(users)

# 為使用者組建立索引,便於快速查詢

user_idx = db.node.indexes.create('users')

#建立使用者節點

defcreate_user

(name):

with db.transaction:

user = db.node(name=name)

user.instance_of(users)

# 建立基於使用者name的索引

user_idx['name'][name] = user

return user

#根據使用者名稱獲得使用者節點

defget_user

(name):

return user_idx['name'][name].single

#建立節點

for name in ['user1', 'user2','user3','user4']:

create_user(name)

#為節點間新增關注關係(follows)

with db.transaction:

get_user('user2').follows(get_user('user1'))

get_user('user3').follows(get_user('user1'))

get_user('user4').follows(get_user('user3'))

# 獲得使用者1的粉絲

for relationship in get_user('user1').follows.incoming:

u = relationship.start

print u['name']

#輸出結果:user2,user3

#為使用者4推薦好友,即該使用者關注的使用者所關注的使用者

nid = get_user('user4').id

#設定查詢語句

query = "start n=node() match n-[:follows]->m-[:follows]->fof return n,m,fof"

for row in db.query(query,id=nid):

node = row['fof']

print node['name']

#輸出結果:user1

neo4j 簡單介紹

neo4j基本操作 cypher 建立有屬性的節點 create dept dept 查詢屬性節點 match dept dept return dept詳解前往w3c 連線和斷開連線 neo4j connect 斷開 neo4j disconnectneo4j 優點以及和mysql 關係資料資料庫...

Neo4j簡單使用

節點 乙個圖形的乙個基本單元 屬性 描述節點及關係的鍵值對 關係 連線兩個節點的部分,具有方向 標籤 由節點或關係組成,乙個節點可以包含多個標籤 neo4j中使用的資料庫查詢語言是cypher,是一種類sql的宣告式語言,簡稱cql。現簡單示例增刪改查操作。操作一 增 不同於sql中的insert插...

neo4j使用總結

埠配置 外掛程式配置 dbms.jvm.additional dunsupported.dbms.udc.source tarball org.neo4j.server.thirdparty jaxrs classes org.neo4j.tableau.wdc tableau wdc dbms.s...