1.使用 Neo4jGraph 类来初始化图数据库的操作对象,这将用于后续的图数据添加和查询。
graph = Neo4jGraph()后续在此对neo4j添加图数据:
graph.add_graph_documents(graph_documents,baseEntityLabel=True,include_source=True)
2.文档切分
通过TokenTextSplitter 将文档内容切分为更小的片段,这有助于处理和分析。
3.转换文档
使用 LLMGraphTransformer 将切分后的文档转换成图形文档。
llm_transformer = LLMGraphTransformer(llm=llm)graph_documents = llm_transformer.convert_to_graph_documents(documents)
4.使用jupyter打印输出图数据
widget=GraphWidget(graph=session.run(cypher).graph())widget.node_label_mapping='id'display(widget)
查询到的一条neo4j图数据库的完整信息:
(贾宝玉--爱情关系--林黛玉)
源节点:
<record s="<Node" element_id="4:aacd41cc-95d0-49bb-a87d-7a6ad2fc8b8e:2" labels="frozenset({'
erson'," '__entity__',="" '<="" span="">人物'}) properties={'id': '贾宝玉'}>
关系:
r=<relationship element_id="5:aacd41cc-95d0-49bb-a87d-7a6ad2fc8b8e:1152922604118474754" nodes="(<Node" labels="frozenset({'
erson'," '__entity__',="" '<="" span="">人物'}) properties={'id': '贾宝玉'}>,<node element_id="4:aacd41cc-95d0-49bb-a87d-7a6ad2fc8b8e:3" labels="frozenset({'
erson'," '__entity__',="" '<="" span="">人物'}) properties={'id': '林黛玉'}>) type='爱情关系' properties={}>
目标节点:
t=<node element_id="4:aacd41cc-95d0-49bb-a87d-7a6ad2fc8b8e:3" labels="frozenset({'
erson'," '__entity__',="" '<="" span="">人物'}) properties={'id': '林黛玉'}>>
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |