You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

确认Asset节点存在embeddings属性仍触发Neo4j UnknownPropertyKeyWarning

Neo4j查询警告排查:Neo.ClientNotification.Statement.UnknownPropertyKeyWarning

已确认所有31个Asset节点都存在非空的768维embeddings属性,在Neo4j Desktop中运行相同Cypher查询完全正常,但通过Python代码调用时却触发Neo.ClientNotification.Statement.UnknownPropertyKeyWarning警告,提示embeddings属性不存在。以下是可能的原因及排查方向:

可能的原因

  • 数据库连接不匹配:Python代码中的Neo4j驱动可能连接了与Desktop不同的数据库实例或数据库名称。检查驱动的连接URI、认证信息,确保和Desktop使用的是同一个Neo4j实例及目标数据库。
  • 会话数据库指定错误:如果Python代码创建会话时未显式指定数据库,可能默认连接了错误的库(比如Neo4j默认的neo4j库,而你在Desktop中使用的是自定义库)。创建会话时显式指定数据库:self.driver.session(database="你的数据库名称")。
  • Schema元数据未同步:批量导入Asset节点后,Neo4j的Schema元数据可能存在延迟,导致查询解析时认为embeddings属性不存在。可以在Python会话中执行CALL db.propertyKeys()查看是否包含embeddings,或执行MATCH (a:Asset) RETURN a.embeddings LIMIT 1验证能否正常读取属性。
  • 大小写拼写不一致:Neo4j对属性键大小写敏感,确认Python查询中的embeddings与节点实际属性的拼写(包括大小写)完全一致,避免因大小写差异触发警告。

相关代码

class Neo4jGraph:

    ...

    def best_matches(self, embedding: List[float], limit: int = 10) -> List[Dict[str, Any]]:

        query = """
        WITH $embedding AS input_embedding
        MATCH (a:Asset)
        WHERE a.embeddings IS NOT NULL
        RETURN a.id AS id, a.url AS url, a.description AS description, vector.similarity.cosine(input_embedding, a.embeddings) AS similarity
        ORDER BY similarity DESC
        LIMIT $limit
        """

        with self.driver.session() as session:

            result = session.run(query, embedding = embedding, limit = limit)
            assets = []

            for record in result:
                assets.append({
                    'asset_id': record['id'],
                    'asset_url': record['url'],
                    'description': record['description'],
                    'similarity': record['similarity'],
                    'asset_tags': record['tags']
                })

            return assets

警告信息(中文翻译)

收到来自DBMS服务器的通知:{级别: 警告} {代码: Neo.ClientNotification.Statement.UnknownPropertyKeyWarning} {类别: 无法识别} {标题: 提供的属性键不存在于数据库中} {描述: 查询中的某个属性名称在数据库中不存在,请确认拼写无误,或确保运行语句时标签可用(缺失的属性名称为: embeddings)} {位置: 行: 4, 列: 17, 偏移量: 84}

内容的提问来源于stack exchange,提问作者Amit Pathak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:03:20