Neo4j图数据库#
- class langchain_neo4j.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)[source]#
用于各种图形操作的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对象在图中构建节点和关系。
close
()显式关闭Neo4j驱动连接。
query
(query[, params])查询Neo4j数据库。
刷新Neo4j图的模式信息。
- Parameters:
url (str | None)
username (str | None)
password (str | None)
数据库 (字符串 | 无)
timeout (float | None)
sanitize (bool)
refresh_schema (bool)
driver_config (字典 | 无)
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。
- Raises:
RuntimeError – 如果连接已关闭。
- Parameters:
graph_documents (列表[GraphDocument])
include_source (bool)
baseEntityLabel (bool)
- Return type:
无
使用 Neo4jGraph 的示例