apoc怎么将节点和关系分开导入到图数据库,有导过的吗?给个例子参考参考
发布于 3 个月前 作者 goodwater 265 次浏览 来自 问答

apoc怎么将节点和关系分开导入到图数据库,有导过的吗?给个例子参考参考

6 回复

python封装的两个方法,可以参考下

def extract_node(self,source,query,label,etltime):  # 抽取节点数据(source:数据来源类型,query:查询语句,label:节点标签,etltime:etl时间)
    check='''{pid:row.pid}'''
    cypher=f'''
    call apoc.load.jdbc("{source}","{query}") YIELD row
    merge(n:outside:{label} {check}) set n=row, n.etltime="{etltime}"
    '''
    c=carrier()
    tx=c.run_cypher(cypher)
    return cypher

def extract_relationship(self,source,query,label,label_end,relationtype):  # 抽取关系数据(source:数据来源类型,query:查询语句,label:节点标签,label_end:尾部节点标签,relationtype:关系类型)
    check='''{pid:row.pid}'''
    check_e='''{pid:row.pid_e}'''
    cypher=f'''
    call apoc.load.jdbc("{source}","{query}") YIELD row
    merge (n:outside:{label} {check}) with *
    merge (n_e:outside:{label_end} {check_e}) with *
    merge (n)-[r:{relationtype}]->(n_e) set r+=row
    '''
    c=carrier()
    tx=c.run_cypher(cypher)
    return cypher

先将数据按照节点,关系建模.最好约定一个命名规范 先导入节点,再导入关系.

@nonono 你好!我看到你对 Neo4j 研究很深,方便的话请加我微信 gzhizh,希望交个朋友。

@nonono 刚发送了好友申请,嘿嘿

回到顶部