NetworkxEntityGraph#
- class langchain_community.graphs.networkx_graph.NetworkxEntityGraph(graph: Any | None = None)[源代码]#
用于实体图操作的Networkx包装器。
- Security note: Make sure that the database connection uses credentials
这些权限范围狭窄,仅包含必要的权限。 未能这样做可能会导致数据损坏或丢失,因为调用代码可能会尝试执行导致数据删除、变异的命令,如果被适当提示,或者读取敏感数据,如果这些数据存在于数据库中。 防止这种负面结果的最佳方法是(适当地)限制授予与此工具一起使用的凭据的权限。
查看 https://python.langchain.com/docs/security 获取更多信息。
创建一个新图表。
方法
__init__
([graph])创建一个新图。
add_node
(node)在图中添加节点。
add_triple
(knowledge_triple)向图中添加一个三元组。
clear
()清除图。
清除图的边。
delete_triple
(knowledge_triple)从图中删除一个三元组。
draw_graphviz
(**kwargs)提供更好的绘图
from_gml
(gml_path)get_entity_knowledge
(entity[, depth])获取实体的信息。
get_neighbors
(node)返回给定节点的邻居节点。
获取图中的节点数量。
获取图中按因果依赖排序的实体名称列表。
获取图中的所有三元组。
has_edge
(source_node, destination_node)返回图中是否存在给定节点之间的边。
has_node
(node)返回图中是否包含给定节点。
remove_edge
(source_node, destination_node)从图中移除边。
remove_node
(node)从图中移除节点。
write_to_gml
(path)- Parameters:
graph (可选[任意])
- add_triple(knowledge_triple: KnowledgeTriple) None [source]#
向图中添加一个三元组。
- Parameters:
knowledge_triple (KnowledgeTriple)
- Return type:
无
- delete_triple(knowledge_triple: KnowledgeTriple) None [source]#
从图中删除一个三元组。
- Parameters:
knowledge_triple (KnowledgeTriple)
- Return type:
无
- draw_graphviz(**kwargs: Any) None [source]#
提供更好的绘图
在jupyter笔记本中的使用:
>>> from IPython.display import SVG >>> self.draw_graphviz_svg(layout="dot", filename="web.svg") >>> SVG('web.svg')
- Parameters:
kwargs (任意)
- Return type:
无
- classmethod from_gml(gml_path: str) NetworkxEntityGraph [source]#
- Parameters:
gml_path (str)
- Return type:
- get_entity_knowledge(entity: str, depth: int = 1) List[str] [source]#
获取有关实体的信息。
- Parameters:
实体 (字符串)
深度 (整数)
- Return type:
列表[str]
- has_edge(source_node: str, destination_node: str) bool [来源]#
如果图中给定节点之间存在边,则返回。
- Parameters:
source_node (str)
destination_node (str)
- Return type:
布尔
使用 NetworkxEntityGraph 的示例