1.、数据导入
可以使用
LOAD CSV WITH HEADERS FROM “file:///Inventory.csv” AS row
MERGE (s:Store {name: row.store})
WITH *
MATCH (c:City {name: row.store})
MERGE (s)-[:IN_CITY]-©
WITH *
MATCH (p:Product {sku: row.sku})
MERGE §-[r:INVENTORY]->(s)
SET r.count = toInt(row.number)
RETURN *;
想用
call apoc.load.json("///reviews.json") YIELD value AS row
MATCH (c:Customer {customerid: toString(row.customerid)})
MATCH (p:Product {sku: toString(row.sku)})
MERGE ©-[r:REVIEWED]->§
SET r.rating = round(toFloat(row.review))
RETURN *;
必须先开启 apoc.import.file.enabled=true
社区发现
解析:
“CALL algo.unionFind(label:String, relationship:String, {weightProperty:‘weight’, threshold:0.42, defaultValue:1.0, write: true, partitionProperty:‘partition’}) YIELD nodes, setCount, loadMillis, computeMillis, writeMillis”
输入的为
label 节点类别;relationship 关系类别
可选输入
weightProperty 权重属性
threshold 边界值
defaultValue 默认值,当属性为空时的填充
返回
nodes 节点
CALL algo.unionFind.stream(‘User’, ‘FRIEND’, {weightProperty:‘weight’,
defaultValue:0.0, threshold:1.0, concurrency: 1})
YIELD nodeId,setId
RETURN algo.getNodeById(nodeId).id AS user, setId
threshold 门槛 边界
concurrency 并发性
删除全部数据
match (n) detach delete n
查看数据结构
call apoc.meta.graph == call db.schema()
with语句
使用with语句进行聚合过滤查询,示例:
MATCH (n {name:“John”})-[:friend]-(friend)
WITH n, count(friend) as friendsCount
WHERE friendsCount>3
RETURN n, friendsCount
使用with语句进行聚合更新,示例:
MATCH (n {name:‘John’})-[:friend]-(friend)
WITH n,count(friend) as friendsCount
SET n.friendsCount = friendsCount
RETURN n.friendsCount
//collect()将所有满足值聚集在一个列表中
match (p:Person)-[:ACTED_IN]->(m:Movie)
with p, count(*) as appearances, collect(m.title) as movies
where appearances > 1
return p.name, appearances, movies
optinal match 类似于match ,不同之处在于 如果没有匹配到optinal match将用null作为未匹配到不分的值.
可以理解为mysql中的inner join 如果没有就用null.
查看数据库的图算法
CALL dbms.procedures() YIELD name, signature, description
WHERE name starts with “algo”
RETURN name, signature, description
查看APOC
CALL dbms.procedures() YIELD name, signature, description
WHERE name starts with “apoc”
RETURN name, signature, description