天天看點

Neo4j使用Cypher語句實戰(索引,資料備份,導入)

8.1建立索引

建立單一屬性索引

文法:

CREATE INDEX ON :Lable(property)

CREATE INDEX ON :Person(name)
           

給資料庫的:Person标簽的name屬性建立索引

建立複合屬性索引

文法

:CREATE INDEX ON :Label(prop1,...,propN)

CREATE INDEX ON :Person(age,country)
           

8.2查詢索引

CALL db.Indexes
           

8.3删除索引

文法:

DROP INDEX ON :LABEL(property)

DROP INDEX ON :Person(firstname)
           

文法:

DROP INDEX ON :LABEL(prop1,...,propN)

DROP INDEX ON :Person(age,country)
           

8.3 備份與導入

備份/導出 要以管理者身份運作

neo4j-admin dump --database=graph.db --to=E:\neo4jdata
           
Neo4j使用Cypher語句實戰(索引,資料備份,導入)
Neo4j使用Cypher語句實戰(索引,資料備份,導入)

導入db

neo4j-admin load --from=E:\neo4jdata\graph.db.dump --database=graph.db --force
           

導入csv

LOAD CSV WITH HEADERS FROM "‪G:\importData.csv"
AS line
return line.n
           
Neo4j使用Cypher語句實戰(索引,資料備份,導入)

csv内容

Neo4j使用Cypher語句實戰(索引,資料備份,導入)
USING PERIODIC COMMIT
LOAD CSV FROM 'file:///concept.csv' AS row
CREATE (n:概念{name:row[1],uuid:row[0]})
           

csv 不帶header方式

不帶hearer 就把csv第一行的header(uuid,name,domain)去掉

USING PERIODIC COMMIT
LOAD CSV  FROM "file:///executive_stock.csv" AS row
MATCH (n:高管 {uuid: row[0]})
MATCH (m:企業 {uuid: row[1]})
MERGE (n)-[:RE{name:row[2]}]->(m) 
           

帶header方式

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///industry.csv' AS row
CREATE (:行業{name:row.name,uuid:row.uuid})