langchain_community.graphs.networkx_graph.NetworkxEntityGraph¶
- class langchain_community.graphs.networkx_graph.NetworkxEntityGraph(graph: Optional[Any] = None)[source]¶
用于实体图操作的 Networkx 包装器。
- 安全提示:确保数据库连接使用具有窄范围权限的凭证
(只包括必要的权限)。如果未这样做,可能会导致数据损坏或丢失,因为调用代码可能会尝试执行导致删除、数据变异(如果适当提示)或读取敏感数据的命令。避免这种负面结果的最好方法是(根据情况)限制与该工具一起使用的凭证所赋予的权限。
有关更多信息,请参阅https://python.langchain.ac.cn/docs/security。
创建一个新图。
方法
__init__([图])创建一个新图。
add_node(节点)在图中添加节点。
add_triple(知识三元组)向图中添加三元组。
clear()清除图。
清除图边。
delete_triple(知识三元组)从图中删除三元组。
draw_graphviz(**kwargs)提供更好的绘图
from_gml(gml路径)get_entity_knowledge(实体[, 深度])获取实体信息。
get_neighbors(节点)返回给定节点的相邻节点。
获取图中的节点数。
根据因果关系对图中的实体名称进行排序。
获取图中的所有三元组。
has_edge(source_node, destination_node)返回图形中是否有给定节点之间的边。
has_node(node)判断图形中是否包含给定节点。
remove_edge(source_node, destination_node)从图形中移除边。
remove_node(node)从图形中移除节点。
write_to_gml(path)- 参数
graph (可选[任意类型]) –
- add_triple(knowledge_triple: KnowledgeTriple) None[source]¶
向图中添加三元组。
- 参数
knowledge_triple (知识三元组) –
- 返回类型
None
- delete_triple(knowledge_triple: KnowledgeTriple) None[源代码]¶
从图中删除三元组。
- 参数
knowledge_triple (知识三元组) –
- 返回类型
None
- draw_graphviz(**kwargs: Any) None[源代码]¶
提供更好的绘图
在 jupyter 笔记本中的用法
>>> from IPython.display import SVG >>> self.draw_graphviz_svg(layout="dot", filename="web.svg") >>> SVG('web.svg')
- 参数
kwargs (Any) –
- 返回类型
None
- classmethod from_gml(gml_path: str) NetworkxEntityGraph[源代码]¶
- 参数
gml_path (str) –
- 返回类型
- get_entity_knowledge(entity: str, depth: int = 1) List[str][源代码]¶
获取实体信息。
- 参数
entity (str) –
depth (int) –
- 返回类型
str[]
- has_edge(source_node: str, destination_node: str) bool[source]¶
返回图形中是否有给定节点之间的边。
- 参数
source_node (str) –
destination_node (str) –
- 返回类型
bool