Neo4j图数据库#

class langchain_community.graphs.neo4j_graph.Neo4jGraph(url: str | None = None, username: str | None = None, password: str | None = None, database: str | None = None, timeout: float | None = None, sanitize: bool = False, refresh_schema: bool = True, *, driver_config: Dict | None = None, enhanced_schema: bool = False)[源代码]#

自版本0.3.8起已弃用:请改用:class:`~langchain_neo4j.Neo4jGraph`。在langchain-community==1.0之前不会移除。

用于各种图形操作的Neo4j数据库封装器。

参数: url (Optional[str]): Neo4j数据库服务器的URL。 username (Optional[str]): 用于数据库认证的用户名。 password (Optional[str]): 用于数据库认证的密码。 database (str): 要连接的数据库名称。默认为‘neo4j’。 timeout (Optional[float]): 事务的超时时间,单位为秒。

用于终止长时间运行的查询。 默认情况下,没有设置超时。

sanitize (bool): A flag to indicate whether to remove lists with

从结果中移除超过128个元素。用于从数据库响应中移除类似嵌入的属性。默认值为False。

refresh_schema (bool): A flag whether to refresh schema information

在初始化时。默认值为 True。

enhanced_schema (bool): A flag whether to scan the database for

示例值并在图模式中使用它们。默认值为False。

driver_config (Dict): 传递给Neo4j驱动程序的配置。

Security note: Make sure that the database connection uses credentials

这些权限范围狭窄,仅包含必要的权限。 未能这样做可能会导致数据损坏或丢失,因为调用代码可能会尝试执行导致数据删除、变异的命令,如果被适当提示,或者读取敏感数据,如果这些数据存在于数据库中。 防止这种负面结果的最佳方法是(适当地)限制授予与此工具一起使用的凭据的权限。

查看 https://python.langchain.com/docs/security 获取更多信息。

创建一个新的Neo4j图包装器实例。

属性

get_schema

返回图的模式

get_structured_schema

返回图的结构化模式

方法

__init__([url, username, password, ...])

创建一个新的Neo4j图包装器实例。

add_graph_documents(graph_documents[, ...])

此方法根据提供的GraphDocument对象在图中构建节点和关系。

query(query[, params])

查询Neo4j数据库。

refresh_schema()

刷新Neo4j图的模式信息。

Parameters:
  • url (str | None)

  • username (str | None)

  • password (str | None)

  • 数据库 (字符串 | )

  • timeout (float | None)

  • sanitize (bool)

  • refresh_schema (bool)

  • driver_config (Dict | None)

  • enhanced_schema (bool)

__init__(url: str | None = None, username: str | None = None, password: str | None = None, database: str | None = None, timeout: float | None = None, sanitize: bool = False, refresh_schema: bool = True, *, driver_config: Dict | None = None, enhanced_schema: bool = False) None[source]#

创建一个新的Neo4j图包装器实例。

Parameters:
  • url (str | None)

  • username (str | None)

  • password (str | None)

  • 数据库 (字符串 | )

  • timeout (float | None)

  • sanitize (bool)

  • refresh_schema (bool)

  • driver_config (Dict | None)

  • enhanced_schema (bool)

Return type:

add_graph_documents(graph_documents: List[GraphDocument], include_source: bool = False, baseEntityLabel: bool = False) None[source]#

此方法根据提供的GraphDocument对象在图中构建节点和关系。

参数: - graph_documents (List[GraphDocument]): 包含要添加到图中的节点和关系的GraphDocument对象列表。每个GraphDocument应封装图的一部分结构,包括节点、关系和源文档信息。 - include_source (bool, 可选): 如果为True,则存储源文档并使用MENTIONS关系将其链接到图中的节点。这对于追溯数据来源非常有用。如果可用,则基于源文档元数据中的id属性合并源文档;否则,它计算page_content的MD5哈希以进行合并过程。默认为False。 - baseEntityLabel (bool, 可选): 如果为True,则每个新创建的节点都会获得一个次要的__Entity__标签,该标签被索引并提高导入速度和性能。默认为False。

Parameters:
  • graph_documents (列表[GraphDocument])

  • include_source (bool)

  • baseEntityLabel (bool)

Return type:

query(query: str, params: dict = {}) List[Dict[str, Any]][来源]#

查询Neo4j数据库。

Parameters:
  • query (str) – 要执行的Cypher查询。

  • params (dict) – 传递给查询的参数。

Returns:

包含查询结果的字典列表。

Return type:

列表[字典[字符串, 任意类型]]

refresh_schema() None[source]#

刷新Neo4j图模式信息。

Return type:

使用 Neo4jGraph 的示例