gpt4 book ai didi

neo4j - 从 collect 返回一个对象 (cypher/neo4j)

转载 作者:行者123 更新时间:2023-12-05 01:13:32 28 4
gpt4 key购买 nike

我正在尝试以用户指定的语言返回内容,如果找不到以所选语言显示的内容,则返回默认语言(英语)。似乎不支持从 collect 语句返回对象。有没有办法实现类似的结果?

现在的查询:

MATCH (meta:contentMeta)<-[metaLang:HAS_META]-(content:content)-[:TAGGED_WITH]-(termNode:term)-[lang:HAS_LANGUAGE]-(langNode:termMeta)
WHERE
metaLang.languageCode = {language}
OR metaLang.languageCode = {defaultLanguage}
AND lang.languageCode = {language}
OR lang.languageCode = {defaultLanguage}
RETURN DISTINCT collect(langNode.name) AS terms,
content.displayType AS displayType,
content.savedAs AS savedAs,
content.webURL AS webURL,
content.embedSrc AS embedsrc,
content.UUID AS UUID
LIMIT 15

问题是我真正想要返回的是一个具有节点名称和语言代码的对象。像这样的东西:

collect(langNode.name, langNode.languageCode) AS terms

或者这个:

collect(langNode.name) AS terms.name, 
collect(langNode.languageCode) AS terms.languageCode

当然,这个语法是行不通的。有什么简单的解决方案吗?

最佳答案

不确定我是否完全理解您的模型是如何工作的,但您可能可以使用 map 和集合文字来实现您想要的。对于您的第一个示例,您可以尝试

collect ( [langNode.name, langNode.languageCode] ) as terms

第二个例子

{name:collect (langNode.name), languageCode:collect (langNode.languageCode) } as terms

collect ( {name:langNode.name, languageCode:langNode.languageCode} ) as terms

关于neo4j - 从 collect 返回一个对象 (cypher/neo4j),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22563129/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com