【发布时间】:2017-10-28 17:27:37
【问题描述】:
graph = Graph()
query2 = """
WITH {m} AS document
UNWIND document.lists AS s
UNWIND s.imageurl AS img
UNWIND s.youtubevideourl AS vid
RETURN s
"""
print (graph.cypher.execute(query2,m = m))
我正在尝试使用 UNWIND 读取完整的 json 文件,但我只是
通过第一部分,所以我无法绘制完整的 json 图表。
之前运行良好,但现在我添加了 youtube 视频链接,标题为
相同的页面、weblinkurl、webtitle 我已经开始面临同样的问题。
这是我使用不同链接编译的 JSON 文件的示例,因为我只能阅读第一部分,但我想阅读完整的 JSON。
这只有 JSON 的 2 部分,我想完整阅读并制作节点
如果有人能告诉如何使用 UNWIND 或其他方法,请。
[{'Topic': 'Virat_Kohli',
'imagetitle': 'Virat_Kohli_June_2016_(cropped).jpg?width=300',
'imageurl': 'http://commons.wikimedia.org/wiki/Special:FilePath/Virat_Kohli_June_2016_(cropped).jpg?width=300',
'webtitle': 'Virat Kohli Official Website',
'weburl': 'http://www.viratkohli.club/',
'youtubevideotitle': 'Virat Kohli Finally Accepts Love For GIRLFRIEND Anushka Sharma On Aamir Khan's Secret Superstar Show - YouTube',
'youtubevideourl': 'https://www.youtube.com/watch?v=zmPh2OQzZqc'},
{'Topic': 'Virat_Kohli',
'webtitle': 'Virat Kohli profile 2017, News and images only on official website of RCB',
'weburl': 'https://www.royalchallengers.com/virat-kohli',
'youtubevideotitle': 'Virat Kohli after losing ICC champions trophy Final - India vs Pakistian - Press Conference 2017 - YouTube',
'youtubevideourl': 'https://www.youtube.com/watch?v=Yf38l1Kx2-I'},
我想做的就是这个
graph = Graph()
query2 = """
WITH {j} AS document
UNWIND document.lists AS s
UNWIND s.Topic AS top
UNWIND s.weburl AS url
UNWIND s.imageurl AS img
UNWIND s.youtubevideourl as y
MERGE (c:topicnames {name:s.Topic})
MERGE (sc:images{img:img, type : s.imagetitle})
MERGE (v:weblink{url:url, type : s.webtitle})
MERGE (g:videos{vid:y, type : s.youtubevideotitle})
MERGE (c)-[:IMAGE_LINKS]->(sc)
MERGE (c)-[:WEB_LINKS]->(v)
MERGE (c)-[:VIDEO_LINKS]->(g)
RETURN (c)
"""
print (graph.cypher.execute(query2,j = j))
所以我必须在 neo4j 中有一个主题节点和 5 个视频链接节点、5 个 weblink 节点和 1 个 imagelink 节点,但它只有 json 的 1 部分的绘图节点 所以 UNWIND 不会读取或转换与 Topic、weburl、youtubevideourl 具有相同键的其他值,这就是为什么我想知道它为什么不起作用以及如何修复它。
【问题讨论】:
-
你想用 3
UNWINDS完成什么?你查询只返回s,这是由第一个UNWIND获取的。 -
我想你可能不明白 UNWIND 是做什么的。 UNWIND 对集合/列表进行操作,并将该集合更改为行。第一个 UNWIND 看起来不错,但其他两个在非集合值上运行(根据您的摘录,它们是字符串)。你到底想在这里做什么?
-
我想做什么
-
#InverseFalcon #cybersam 请阅读我已更新的问题
-
我在这里以 dict 的形式得到它我只显示了 dict 中的值,就像这样
标签: python json graph neo4j py2neo