Hi all
Trying to stitch the following cypher together...
It will be used as per below (right at the bottom) as a inline cypher text for a kafka connect sink job into neo3j.
MERGE
(a:Person {accountEntityId: event.accountEntityId})
ON CREATE SET {a.accountEntityType = event.accountEntityType, a.tenantId = event.tenantId, a.fullName = event.fullName }
ON MATCH SET += {a.idnumber = event.idnumber, a.address = event.address, a.dob = event.dob, a.reg_id = event.reg_id, a.home_phone = event.home_phone}
}
which will become a one liner similar:
"neo4j.cypher.topic.person": "MERGE (a:Person {accountEntityId: event.accountEntityId}) ON CREATE SET {a.accountEntityType = event.accountEntityType, a.tenantId = event.tenantId, a.fullName = event.fullName, a.dob = event.dob, a.reg_id = event.reg_id } ON MATCH SET += {a.dob = event.dob, a.reg_id = event.reg_id}"
I only want to add the update if present or add if not the MATCH components, i.e, dob, reg_id and value if present in the topic-> HOW?
{
"name": "neo4j-person-node-sink",
"config": {
"connector.class": "org.neo4j.connectors.kafka.sink.Neo4jConnector",
"topics": "person",
"neo4j.uri": "bolt://neo4j:7687",
"neo4j.authentication.basic.username": "neo4j",
"neo4j.authentication.basic.password": "dbpassword",
"neo4j.cypher.topic.person": "MERGE (a:Person {accountEntityId: event.accountEntityId}) ON CREATE SET {a.accountEntityType = event.accountEntityType, a.tenantId = event.tenantId, a.fullName = event.fullName} ON MATCH SET += {a.dob = event.dob, a.reg_id = event.reg_id}"
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "false",
"tasks.max": "1",
"neo4j.batch.size": "1000",
"neo4j.batch.timeout.msecs": "5000",
"neo4j.retry.backoff.msecs": "3000",
"neo4j.retry.max.attemps": "5"
}
}