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()

清除图。

clear_edges()

清除图的边。

delete_triple(knowledge_triple)

从图中删除一个三元组。

draw_graphviz(**kwargs)

提供更好的绘图

from_gml(gml_path)

get_entity_knowledge(entity[, depth])

获取实体的信息。

get_neighbors(node)

返回给定节点的邻居节点。

get_number_of_nodes()

获取图中的节点数量。

get_topological_sort()

获取图中按因果依赖排序的实体名称列表。

get_triples()

获取图中的所有三元组。

has_edge(source_node, destination_node)

返回图中是否存在给定节点之间的边。

has_node(node)

返回图中是否包含给定节点。

remove_edge(source_node, destination_node)

从图中移除边。

remove_node(node)

从图中移除节点。

write_to_gml(path)

Parameters:

graph (可选[任意])

__init__(graph: Any | None = None) None[源代码]#

创建一个新图表。

Parameters:

graph (任意 | )

Return type:

add_node(node: str) None[source]#

在图中添加节点。

Parameters:

节点 (字符串)

Return type:

add_triple(knowledge_triple: KnowledgeTriple) None[source]#

向图中添加一个三元组。

Parameters:

knowledge_triple (KnowledgeTriple)

Return type:

clear() None[source]#

清除图表。

Return type:

clear_edges() None[source]#

清除图的边。

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:

NetworkxEntityGraph

get_entity_knowledge(entity: str, depth: int = 1) List[str][source]#

获取有关实体的信息。

Parameters:
  • 实体 (字符串)

  • 深度 (整数)

Return type:

列表[str]

get_neighbors(node: str) List[str][来源]#

返回给定节点的邻居节点。

Parameters:

节点 (字符串)

Return type:

列表[str]

get_number_of_nodes() int[source]#

获取图中的节点数量。

Return type:

整数

get_topological_sort() List[str][source]#

获取图中按因果依赖排序的实体名称列表。

Return type:

列表[str]

get_triples() List[Tuple[str, str, str]][source]#

获取图中的所有三元组。

Return type:

列表[元组[str, str, str]]

has_edge(source_node: str, destination_node: str) bool[来源]#

如果图中给定节点之间存在边,则返回。

Parameters:
  • source_node (str)

  • destination_node (str)

Return type:

布尔

has_node(node: str) bool[来源]#

如果图中有给定节点,则返回。

Parameters:

节点 (字符串)

Return type:

布尔

remove_edge(source_node: str, destination_node: str) None[源代码]#

从图中移除边。

Parameters:
  • source_node (str)

  • destination_node (str)

Return type:

remove_node(node: str) None[source]#

从图中移除节点。

Parameters:

节点 (字符串)

Return type:

write_to_gml(path: str) None[source]#
Parameters:

路径 (字符串)

Return type:

使用 NetworkxEntityGraph 的示例