我写了一个查询来从neo4j数据库中提取数据,该数据库使用neomodel模块连接到我的Django应用程序。输出格式如下:
[[<Node id=32 labels={'Resource', 'owl__Class'} properties={'ns1__images': 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Tottori_sand_dune02_1920.jpg/120px-Tottori_sand_dune02_1920.jpg','ns1__definition': 'Camels\xa0are\xa0a\xa0milk-producing animal.'}>]]
我尝试使用循环并使用索引访问特定元素,但它们没有帮助。
这是我运行的查询:
results, meta = db.cypher_query("MATCH (n) WHERE n.uri = RETURN n")
我尝试过但没有帮助的事情:
print(results[0][0])
这给出的输出为:
<Node id=32 labels={'Resource', 'owl__Class'} properties={'ns1__images': 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Tottori_sand_dune02_1920.jpg/120px-Tottori_sand_dune02_1920.jpg','ns1__definition': 'Camels\xa0are\xa0a\xa0milk-producing animal.'}>
当我使用它时:
print(list(results[0][0]))
我将其作为输出而不是数据:
['ns1__images', 'ns1__definition']
我想使用其键访问属性中的数据并获取值。 例如如果我将密钥作为ns1_images给出,我想获得输出作为ns1_image URL。
答案 0 :(得分:1)
您的查询结果由:
以您为例,您的查询返回一个Node
,因此这就是您拥有<Node ... >
的原因
该对象(即neo4j.v1.types.graph.Node
)来自Neo4j python驱动程序。
您可以在此处查看文档:{{3}}
您可以做的是:print(results[0][0]['ns1__images'])
results[0]
:获取查询的第一个结果[0]
:获取结果的第一列,此处为Node
['ns1__images']
:检索节点的属性ns1__images