apoc.export.graphml.all过程
|
此过程不建议在多线程中运行,因此并行运行时(Parallel runtime)不支持该过程。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
语法 |
|
||
描述 |
将整个数据库导出到指定的 GraphML 文件中。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要导出数据的文件名。 |
|
|
|
|
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据导出到的文件名。 |
|
|
|
导出数据的摘要。 |
|
|
|
文件的导出格式。 |
|
|
|
已导出节点的数量。 |
|
|
|
已导出关系的数量。 |
|
|
|
已导出属性的数量。 |
|
|
|
导出所花费的时间。 |
|
|
|
返回的行数。 |
|
|
|
导出过程执行的批处理大小。 |
|
|
|
导出过程执行的批次数。 |
|
|
|
导出是否成功执行。 |
|
|
|
导出返回的数据。 |
|
配置参数
此过程支持以下配置参数
| 参数 | 类型 | 默认 | 描述 |
|---|---|---|---|
stream |
布尔值 (BOOLEAN) |
false |
将数据作为查询结果返回,而不是将其存储在文件中。 |
compression |
|
'NONE' |
允许接收二进制数据,可以是不压缩的 (值: |
timeoutSeconds |
INTEGER(整数) |
100 |
查询在超时前应运行的最大秒数。 |
charset |
STRING |
'UTF_8' |
当前 JDK 中扩展 java.nio.Charset 的字符集名称。例如: |
useTypes |
布尔值 (BOOLEAN) |
false |
将类型添加到文件头中。 |
format |
STRING |
'cypher-shell' |
导出格式。 |
source |
MAP |
false |
与 |
target(目标) |
MAP |
100 |
与 |
caption |
LIST<STRING> |
['name', 'title', 'label', 'id'] |
允许接收二进制数据,可以是不压缩的 (值: |
使用示例
本节中的示例基于以下示例图
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
CREATE (JoelS:Person {name:'Joel Silver', born:1952})
CREATE
(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
(Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
(Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
(Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
(LillyW)-[:DIRECTED]->(TheMatrix),
(LanaW)-[:DIRECTED]->(TheMatrix),
(JoelS)-[:PRODUCED]->(TheMatrix);
下方的 Neo4j Browser 可视化显示了导入的图
apoc.export.graphml.all 过程将整个数据库导出到 GraphML 文件或作为流导出。
以下查询将整个数据库导出到 movies.graphml 文件:
CALL apoc.export.graphml.all("movies.graphml", {})
| file | source | format | 节点 | relationships | 属性 | time | rows | batchSize | batches | done | data |
|---|---|---|---|---|---|---|---|---|---|---|---|
"movies.graphml" |
"database: nodes(8), rels(7)" |
"graphml" |
8 |
7 |
21 |
4 |
15 |
-1 |
0 |
TRUE |
NULL |
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="born" for="node" attr.name="born"/>
<key id="name" for="node" attr.name="name"/>
<key id="tagline" for="node" attr.name="tagline"/>
<key id="label" for="node" attr.name="label"/>
<key id="title" for="node" attr.name="title"/>
<key id="released" for="node" attr.name="released"/>
<key id="roles" for="edge" attr.name="roles"/>
<key id="label" for="edge" attr.name="label"/>
<graph id="G" edgedefault="directed">
<node id="n188" labels=":Movie"><data key="labels">:Movie</data><data key="title">The Matrix</data><data key="tagline">Welcome to the Real World</data><data key="released">1999</data></node>
<node id="n189" labels=":Person"><data key="labels">:Person</data><data key="born">1964</data><data key="name">Keanu Reeves</data></node>
<node id="n190" labels=":Person"><data key="labels">:Person</data><data key="born">1967</data><data key="name">Carrie-Anne Moss</data></node>
<node id="n191" labels=":Person"><data key="labels">:Person</data><data key="born">1961</data><data key="name">Laurence Fishburne</data></node>
<node id="n192" labels=":Person"><data key="labels">:Person</data><data key="born">1960</data><data key="name">Hugo Weaving</data></node>
<node id="n193" labels=":Person"><data key="labels">:Person</data><data key="born">1967</data><data key="name">Lilly Wachowski</data></node>
<node id="n194" labels=":Person"><data key="labels">:Person</data><data key="born">1965</data><data key="name">Lana Wachowski</data></node>
<node id="n195" labels=":Person"><data key="labels">:Person</data><data key="born">1952</data><data key="name">Joel Silver</data></node>
<edge id="e267" source="n189" target="n188" label="ACTED_IN"><data key="label">ACTED_IN</data><data key="roles">["Neo"]</data></edge>
<edge id="e268" source="n190" target="n188" label="ACTED_IN"><data key="label">ACTED_IN</data><data key="roles">["Trinity"]</data></edge>
<edge id="e269" source="n191" target="n188" label="ACTED_IN"><data key="label">ACTED_IN</data><data key="roles">["Morpheus"]</data></edge>
<edge id="e270" source="n192" target="n188" label="ACTED_IN"><data key="label">ACTED_IN</data><data key="roles">["Agent Smith"]</data></edge>
<edge id="e271" source="n193" target="n188" label="DIRECTED"><data key="label">DIRECTED</data></edge>
<edge id="e272" source="n194" target="n188" label="DIRECTED"><data key="label">DIRECTED</data></edge>
<edge id="e273" source="n195" target="n188" label="PRODUCED"><data key="label">PRODUCED</data></edge>
</graph>
</graphml>
以下查询在 data 列中返回整个数据库的流:
CALL apoc.export.graphml.all(null, {stream:true})
YIELD file, nodes, relationships, properties, data
RETURN file, nodes, relationships, properties, data;
| file | 节点 | relationships | 属性 | data |
|---|---|---|---|---|
NULL |
8 |
7 |
21 |
|