Whats Wrong with my Cypher FOREACH?
Question
Can some one please help me understand whats wrong with my Cypher query
MATCH (sys:System{Name:'MYSYS' , Version:'1.0'})
FOREACH (item in [
{
itemObj: {
ItemID: "DOMAIN",
Name: "DOMAIN",
TypeID: "",
Physical: "",
Logical: ""
},
parameters: {
VERSIONNUM: "",
QUALSTATE: "",
VERSION: "",
CREATEDBY: "",
DATECREATED: "",
MODIFIEDBY: "",
VERSIONDATE: "",
BLCKCOMMENT1: "",
BLCKCOMMENT2: "",
BLCKCOMMENT3: "",
BLCKCOMMENT4: "",
ORIGASSIGN: "",
CANETYPE: "",
FULLITEMNAME: "",
DESC: "",
SCANPNTDTL: "",
SCANASSOCDSP: "",
ADSIPATH: "",
ASSIGNABLE: ""
}
},
{
itemObj: {
ItemID: "COMPUTERS",
Name: "COMPUTERS",
TypeID: "",
Physical: "",
Logical: ""
},
parameters: {
VERSIONNUM: "",
QUALSTATE: "",
VERSION: "",
CREATEDBY: "",
DATECREATED: "",
MODIFIEDBY: "",
VERSIONDATE: "",
BLCKCOMMENT1: "",
BLCKCOMMENT2: "",
BLCKCOMMENT3: "",
BLCKCOMMENT4: "",
ORIGASSIGN: "",
CANETYPE: "",
FULLITEMNAME: "",
DESC: "",
SCANPNTDTL: "",
SCANASSOCDSP: "",
ASSIGNABLE: ""
}
},
{
itemObj: {
ItemID: ".htm",
Name: ".htm",
TypeID: "",
Physical: "",
Logical: ""
},
parameters: {
FileName: ""
}
}
] |
CREATE (p:Parameter) SET p=item.parameters
MERGE (it:Item { ItemID: item.itemObj.ItemID}) ON CREATE SET it=item.itemObj
MERGE (sys)-[HAS_ITEM]->(it)-[:HAS_PARAMETERS]->(p) )
I end up getting this error
A single relationship type must be specified for CREATE (line 77, column 12)
I am trying to learn to use foreach as its seams very fast in case of bulk insert, so any help here is really welcome.
Regards Kiran
Solution
You are missing a :
when declaring relationship type. On the last line, [HAS_ITEM]
should be [:HAS_ITEM]
.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow