neo4j/neo4j-documentation

property-container input is deprecated

szarnyasg opened this issue · 1 comments

According to the documentation, the keys() and the id() functions expect a property-container as their inputs, while the properties() function expects an expression, which is "an expression that returns a node, a relationship, or a map".

Of these, only the latter is precise - both keys() and properties() accept expressions as their inputs (tested with 3.0.7 and 3.1.1).

Using this dataset,

CREATE ()-[r:REL {name: "x", value: 1}]->()

running this query,

MATCH ()-[r*]->()
RETURN properties(r[0]), keys(r[0]), id(r[0])

results in:

╒════════════════════════╤════════════════╤══════════╕
│"properties(r[0])"      │"keys(r[0])"    │"id(r[0])"│
╞════════════════════════╪════════════════╪══════════╡
│{"name":"x","value":"1"}│["name","value"]│"85"      │
└────────────────────────┴────────────────┴──────────┘

I think the property-container input (used in the documentation) is no longer valid - all of these functions allow the user to specify an expression returning the appropriate elements (nodes/relationships and for the property() function, maps).

Thanks very much @szarnyasg - it's now been merged