我有一个节点图" paper "关系——"引用"。节点有属性:"x",一个包含0/1条目的列表,对应于一个词是否出现在论文中,"y"整型标签(0-6类之一)。
我想从Neo4j使用GraphDataScience投影图。我一直在使用这个文档,我确实设法投影图的节点和顶点:
<标题>代码from graphdatascience import GraphDataScience
AURA_CONNECTION_URI = "neo4j+s://xxxx.databases.neo4j.io"
AURA_USERNAME = "neo4j"
AURA_PASSWORD = "my_code:)"
# Client instantiation
gds = GraphDataScience(
AURA_CONNECTION_URI,
auth=(AURA_USERNAME, AURA_PASSWORD),
aura_ds=True
)
#Shorthand projection --works
shorthand_graph, result = gds.graph.project(
"short-example-graph",
["Paper"],
["Citation"]
)
当我执行print(result)时,它显示
nodeProjection {'Paper': {'label': 'Paper', 'properties': {}}}关系投影{'引用':{'取向':'自然','同意'…graphName short-example-graphnodeCount 2708年relationshipCount 10556年projectMillis 34Name: 0, dtype: object
然而,没有投影节点的属性。然后使用文档中描述的扩展语法:
# Project a graph using the extended syntax
extended_form_graph, result = gds.graph.project(
"Long-form-example-graph",
{'Paper': {properties: "x"}},
"Citation"
)
print(result)
#错误我得到了错误:NameError:名称"properties"没有定义
我尝试了各种各样的变化,有或没有",但到目前为止都没有工作(文档也很混乱,因为其中一个文档总是使用";在另一个地方,我没有看到";")。
另外,请注意,我所有的属性都是整数在Neo4j db(在AuraDS),因为我曾经有字符串属性不支持的错误。
对投射节点特征(即属性)的正确方法的一些澄清将非常有用。
谢谢你,蒂娜
标题>与GraphDataScience库一起使用的Python字典中的键应该用引号括起来。这与Cypher语法不同,Cypher的map键没有用引号括起来。
这应该对你有用。
extended_form_graph, result = gds.graph.project(
"Long-form-example-graph",
{'Paper': {"properties": "x"}},
"Citation"
)
最好的祝愿,内森