AWS Neptune responds with an InternalServerError whenever I submit an openCypher mutation that contains an embedded property element such as: CREATE (t:test {prop1: '123'})
. A create followed by a SET works just fine: CREATE (t:test) SET t.prop1 = '123'
. This isn't a huge deal with something like CREATE but it makes MERGE fairly useless since you can only MERGE on a given label (or labels). The documentation and related examples seem to suggest that this is supported (it's certainly valid in openCypher). The use case would be something like: MERGE (t:test {prop1: '123'}) ON CREATE <do something> ON MATCH <do something else>
. The following example is pulled directly from the AWS website as the way to do a cypher query in AWS Neptune openCypher:
You can write the same query in openCypher for Neptune as follows:
MATCH p=(a:airport {code: 'ANC'})-[r:route*1..3]->(z:airport {code: 'AUS'})
It clearly suggests that an embedded property element in the node/vertice is supported but every test I executed against the HTTP openCypher endpoint using and embedded property syntax failed with an InternalServerError. The same mutation with an outer SET statement worked fine. I'm using 1.3.0 version of the serverless AWS Neptune. This seems to be an issue for both queries and mutations. Doing a MATCH (t:test) WHERE t.prop1='123' RETURN t
worked fine, but the example (as suggested above) MATCH (t:test {prop1: '123}) RETURN t
resulted in an InternalServerError.
I tried both queries and mutations with embedded property elements and both scenarios are failing for me. It's hard to imagine this doesn't work, I'm assuming it's user error on my part, but I've been unable to figure it out.
Any help would be appreciated.