REMOVE property with invalid value does not work

After migration from 3.5.6 to 4.1:
properties with an invalid value: point({srid:4326, x:-999999999, y:-999999999}) cannot be REMOVEd or SET to NULL.

The -999999999 coordinates are missing values from my data. Cypher now throws an error whenever the nodes with such a property are referenced (e.g. RETURNed).

How can I get rid of these properties? Removing the properties or setting them to NULL fails with the same error as returning them:

Cannot create WGS84 point with invalid coordinate: [-9.99999999E8, -9.99999999E8].

Thanks,

Klaus

Hello @klaus.blass :slight_smile:

Did you to SET a new Point Object?
Did you try something else than NULL, for example an integer or a string?

Regards,
Cobra

Hello Cobra,

I tried now setting it to a valid point, integer or string - always the same error.

Klaus

I never seen this type of error.

The next thing I would do is to recreate a database :confused:

I just tested with the 3.5.6 version of the database:
Everything works fine there. The point() value with the invalid coordinates can be referenced, the node containing the property is returned without any problem, etc.

In 4.1:
if I create a property with point({srid:4326, x:-999999999, y:1.1})
it is accepted and sets the property to point({srid:4326, x:81, y:1.1})

if I set it to point({srid:4326, x:1.1, y:-999999999})
it throws the error:

Cannot create WGS84 point with invalid coordinate: [-9.99999999E8, -9.99999999E8]. Valid range for Y coordinate is [-90, 90].

I just check the documentation, can you put x and y in first and srid in last position?

I just tried, same thing.

Can you try without srid?

Same thing.
The problem is that whenever you reference the property or even the node containing it, the query is abandoned with this error in version 4.1.
In 4.1 you cannot create such invalid coordinates, but in 3.5 you could! And migrating to 4.1 leaves you without a method to rectify this situation. The whole node cannot be used any longer.

I think Neo4j developers should look into this, it doesn't seem logical to prevent removing a property with an illegal value. And why does the error occur for the latitude but not for the longitude?

Thanks for your attempts to solve this,

Klaus

No problem, I will link them this ticket :slight_smile:

Thank you, this would be great.