如何在密码中创建带有可变标签的节点?

塞莱斯特·马努(Celeste Manu)

我正在使用JSON APOC插件从其中包含列表的JSON创建节点,并且尝试创建其标签被列为列表中元素的节点:

{
    "pdf":[
        {
            "docID": "docid1", 
            "docLink": "/examplelink.pdf", 
            "docType": "PDF"
        }
],
    "jpeg":[
        {
            "docID": "docid20", 
            "docLink": "/examplelink20.pdf", 
            "docType": "JPEG"
        }
],
...,}

我想遍历doctype(pdf,jpeg)并将标签设置为列表中的docType属性。现在,我必须为每个文档类型列表(jpeg:[],pdf:[])做单独的块:

WITH "file:////input.json" AS url
CALL apoc.load.json(url) YIELD value
UNWIND value.pdf as doc
MERGE (d:PDF {docID: doc.docID})

我想遍历doctype列表,为每个doctype创建一个节点,并使用标签作为列表名称(pdf)或节点的docType名称(PDF)。就像是:

WITH "file:////input.json" AS url
CALL apoc.load.json(url) YIELD value
for each doctypelist in value
for each doc in doctype list
MERGE(d:doc.docType {docID: doc.docID})

要么

WITH "file:////input.json" AS url
CALL apoc.load.json(url) YIELD value
for each doctypelist in value
for each doc in doctype list
MERGE(d {docID: doc.docID})
ON CREATE SET d :doc.docType
特兹拉

Cypher当前不支持此功能。要设置标签,您必须将其硬编码到Cypher中。您可以做过滤器,也可以进行多个匹配,以单调乏味的方式进行操作,但是,如果不允许您将任何插件安装到Neo4j db中,我建议您要么在类型上放置索引,要么使用节点+关系而不是标签。(有很多有效的文档类型,因此,如果您必须全部支持它们,那么纯Cypher会让您非常痛苦。)

但是,使用APOC时有专门针对此程序apoc.create.addLabels

CREATE (:Movie {title: 'A Few Good Men', genre: 'Drama'});
MATCH (n:Movie)
CALL apoc.create.addLabels( id(n), [ n.genre ] ) YIELD node
REMOVE node.genre
RETURN node;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建带有可变标签的节点?

什么是带有单侧标签的XML节点,如何在XmlDocument类中创建其中一个?

如何在Observablehq中创建带有标签的输入字段

如何在 createDrawerNavigator 中创建带有空格的标签?

如何在 ReactJS 中推送或创建带有选项和标签的新数组?

如何在Material Design Lite中创建带有固定标签的文本框?

如何在flutter的同一行中创建带有图标和文本的标签栏?

如何在Vue 2.5中从带有html标签的字符串创建VNode?

如何在neo4j密码中按节点标签过滤结果?

如何在 Latex 中绘制带有“存根”的节点?

通过带有Terraform的EC2创建时如何在AWS EBS中添加标签?

R包Haven中带有SPSS的可变标签

如何创建带有标签图像的Checkbuttons?

如何在带有外部节点到内部节点的边缘的graphviz中制作图形?

如何使用Redisgraph中的密码查询获取在标签上创建的所有索引

如何在材料UI中创建每个标签具有多个标签的自定义标签?

如何在MATLAB / OCTAVE中创建带有孔的矩形?

如何在Java中创建带有圆角的图像?

如何在Android的WorkManager中创建带有参数的Worker?

如何在Java中创建带有连接按钮的ButtonGroup?

如何在Linux中创建带有特殊字符的文件?

如何在Flutter中创建带有圆角的模态底板?

如何在scala中创建带有索引键的地图?

如何在Android中创建带有圆角的ListView?

如何在 Markdown 中创建带有口音的目录?

如何在SwiftUI中创建带有图像的按钮?

如何在 Flutter 的列中创建带有 for 循环的按钮?

如何在Django中创建带有问号(?)的URL

如何在Firemonkey中创建带有圆角的TRectangle?