所以我有一个节点图--“论文”和关系--“引文”。节点具有以下属性:"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"]
)
当我打印(结果)时,它显示
nodeProjection {‘纸张’:{‘标签’:‘纸张’,‘属性’} relationshipProjection {‘引证’:{‘定向’:‘自然’,‘农业’……graphName简短示例- nodeCount 2708 relationshipCount 10556 projectMillis 34名称: 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: name 'properties‘未定义
我尝试了各种不同的版本,包括“”或“不使用",但是到目前为止,没有一种方法起作用(而且文档非常混乱,因为其中一个文档总是使用”“,而在另一个我没有看到”“的地方。)
另外,请注意,我的所有属性都是Neo4j db中的整数(在AuraDS中),因为我过去的错误是不支持字符串属性。
对投影节点特性(又名属性)的正确方法进行一些澄清将非常有用。
谢谢你,迪娜
发布于 2022-04-29 00:20:20
与GraphDataScience库一起使用的Python中的键应该用引号括起来。这与Cypher语法不同,在这种语法中,映射键不包含引号。
这应该对你有用。
extended_form_graph, result = gds.graph.project(
"Long-form-example-graph",
{'Paper': {"properties": "x"}},
"Citation"
)
谨致问候,
内森
https://stackoverflow.com/questions/72050376
复制相似问题