Backslash in a string literal or property value may be dropped (original) (raw)

ArcadeDB version
Observed on Docker images:

Environment

Describe the bug
ArcadeDB may drop a backslash character from string literals and from returned property values.

In the minimized repro below, Neo4j preserves the string Alice\Bob.
ArcadeDB returns AliceBob.

This is not just a presentation issue.
ArcadeDB also treats a stored property created from Alice\Bob as equal to AliceBob, which suggests the backslash is being discarded during parsing or value handling.

To Reproduce

Query:

RETURN 'Alice\Bob' AS name;

Expected behavior
Observed Neo4j result:

Actual behavior
Observed ArcadeDB result:

Control cases

The same issue appears when the value is stored in a node property and then read back:

Setup:

CREATE (n:Person {name: 'Alice\Bob'});

Query:

MATCH (n:Person) RETURN n.name AS name;

Observed results:

This shows the problem is not limited to direct literal projection.

ArcadeDB also matches the stored node against the backslash-free form:

MATCH (n:Person) WHERE n.name = 'AliceBob' RETURN count(*) AS c;

Observed results:

While both engines still match the backslash form:

MATCH (n:Person) WHERE n.name = 'Alice\Bob' RETURN count(*) AS c;

Observed results:

So ArcadeDB is effectively normalizing away the backslash instead of preserving the exact string value.

Returning a list that contains the same literal also shows the loss:

RETURN ['Alice\Bob'] AS xs;

Observed results:

Why this matters
This changes the actual string value, not just its formatting.
Client code that depends on exact identifiers, escaped names, or path-like strings can observe silent corruption.