Neo4j-图形数据科学库-如何对图形目录中的命名图形进行加密查询?

Neo4j-图形数据科学库-如何对图形目录中的命名图形进行加密查询?,neo4j,cypher,graph-databases,graph-data-science,Neo4j,Cypher,Graph Databases,Graph Data Science,从主Neo4j图形创建命名图形是。此外,还知道如何列出、删除、检查命名图是否已经存在,例如,调用gds.graph.exists('my-store-graph') 但是,我想知道是否有任何方法可以对刚刚创建的命名图进行密码查询 一种解决方法是将此命名图推入脱机/空的Neo4j图,即调用gds.beta.graph.export('my-graph',{dbName:'mydatabase'})。然而,这种方法不太方便,因为我们通常希望在应用前检查命名图是否正确投影,例如,在其上的PageRan

从主Neo4j图形创建命名图形是。此外,还知道如何列出、删除、检查命名图是否已经存在,例如,
调用gds.graph.exists('my-store-graph')

但是,我想知道是否有任何方法可以对刚刚创建的命名图进行密码查询


一种解决方法是将此命名图推入脱机/空的Neo4j图,即调用gds.beta.graph.export('my-graph',{dbName:'mydatabase'})
。然而,这种方法不太方便,因为我们通常希望在应用前检查命名图是否正确投影,例如,在其上的PageRank。投影可以是一个反复试验的循环。

除了已经找到的解决方法之外,目前没有其他方法可以查询命名图

但是,还有一些附加功能,例如,允许您访问命名图中的节点属性,而无需将其写回Neo4j。查询
分数
属性的示例如下所示:

CALL gds.graph.create('my-graph', 'User', 'LINK');
CALL gds.pageRank.mutate('my-graph', { mutateProperty: 'score' });
MATCH (user:User)
WHERE user.name = 'Alice'
RETURN
    user.name AS name,
    gds.util.nodeProperty('my-graph', id(user), 'score') AS score

你能解释一下为什么你的预测是“试错”循环吗。也许可以选择在要投影的子图上运行验证查询?

在我看来,这是一个反复试验的循环,因为使用Cypher进行投影会产生子图。您需要再次检查子图结构在某些方面是否符合预期。目前,我们无法方便地对该子图进行密码查询。@JoyfulPanda因此,如果我理解正确,您可以使用密码投影创建一个图,然后检查创建的图,以确保它符合您的预期?检查您在
graph.create.Cypher()
调用中使用的密码查询是否不能提供必要的细节?@s1ck正确。我想确保投影图符合我的预期。在
调用gds.graph.create.cypher(graphName、nodeQuery、relationshipQuery、configuration)
中,需要两个查询:一个用于节点,一个用于关系。我假设它首先提取节点,然后提取关系,任何节点不包括在第一个集中的关系都会被删除。因此,有时不方便对两个关于投影图形状的单独查询进行推理。“人们可能会错过一些东西……”乔伊·潘达明白了,我同意。预期在未来的版本中会有所改进:)一个细节:节点不在第一组中的关系将在GDS 1.2中引发错误,您可以使用配置参数将其更改为静默删除行为。