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

清除图。

clear_edges()

清除图边。

delete_triple(知识三元组)

从图中删除三元组。

draw_graphviz(**kwargs)

提供更好的绘图

from_gml(gml路径)

get_entity_knowledge(实体[, 深度])

获取实体信息。

get_neighbors(节点)

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

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)

参数

graph (可选[任意类型]) –

__init__(graph: Optional[Any] = None) None[source]

创建一个新图。

参数

graph (可选[任意类型]) –

返回类型

None

add_node(node: str) None[source]

在图中添加节点。

参数

node (字符串) –

返回类型

None

add_triple(knowledge_triple: KnowledgeTriple) None[source]

向图中添加三元组。

参数

knowledge_triple (知识三元组) –

返回类型

None

clear() None[source]

清除图。

返回类型

None

clear_edges() None[源代码]

清除图边。

返回类型

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

返回类型

NetworkxEntityGraph

get_entity_knowledge(entity: str, depth: int = 1) List[str][源代码]

获取实体信息。

参数
  • entity (str) –

  • depth (int) –

返回类型

str[]

get_neighbors(node: str) List[str][source]

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

参数

node (字符串) –

返回类型

str[]

get_number_of_nodes() int[source]

获取图中的节点数。

返回类型

int

get_topological_sort() List[str][source]

根据因果关系对图中的实体名称进行排序。

返回类型

str[]

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

获取图中的所有三元组。

返回类型

List[Tuple[str, str, str]]

has_edge(source_node: str, destination_node: str) bool[source]

返回图形中是否有给定节点之间的边。

参数
  • source_node (str) –

  • destination_node (str) –

返回类型

bool

has_node(node: str) bool[source]

判断图形中是否包含给定节点。

参数

node (字符串) –

返回类型

bool

remove_edge(source_node: str, destination_node: str) None[来源]

从图形中移除边。

参数
  • source_node (str) –

  • destination_node (str) –

返回类型

None

remove_node(node: str) None[来源]

从图形中移除节点。

参数

node (字符串) –

返回类型

None

write_to_gml(path: str) None[来源]
参数

路径 (str) –

返回类型

None

使用 NetworkxEntityGraph 的示例