Skip to content

Extend GIS Support to the Document and Graph Model#537

Open
murermader wants to merge 323 commits intomasterfrom
multimodel-gis2
Open

Extend GIS Support to the Document and Graph Model#537
murermader wants to merge 323 commits intomasterfrom
multimodel-gis2

Conversation

@murermader
Copy link

@murermader murermader commented Feb 15, 2025

Summary

This PR adds support for spatial functions from MongoDB and Neo4j to the document and graph model respectively. This PR extends the backend, while Polypheny-UI: Add the Map-Based Query Mode for Working with Spatial Data #103 extends the frontend.

Changes

  • Added implementation for MongoDB and Neo4j spatial functions. Extended parsing & translation where it was necessary.
  • Added compatibility with MongoDB and Neo4j by adjusting the adapter - so that supported functions can be pushed down, e.g. by converting data and creating indexes if necessary.
  • Data representation of spatial types is correctly converted between the models by taking the meaning of different CRS values into account.
  • Extended Neo4j beyond capability: withinGeometry, point.distance(a, b, 'neo4j') (function overload, to use the same distance approximation as Neo4j uses, with a different earth radius)
  • Added tag docker, to exclude docker tests for different platform tests
  • Added new test type platformTests to have better control on what can be tested via Github actions on different platforms.

Fixes

  • Fixes Sort algebra node and its enumeration for some relational and all document cases
  • Fixes cleanup of AllocationCatalogs on removal of graphs
  • Fixes creation of adapter as part of tests

Tests

Changes are tested with unit test. Functionality is validated for all added functions. If possible, behavior is also compared with the reference implementation through Docker (Neo4j, MongoDB).

Added files:

  • CypherGeoFunctionsTest.java
  • MqlGeoFunctionsTest.java

tobias-weber and others added 30 commits July 12, 2024 11:01
@datomo datomo restored the multimodel-gis2 branch November 6, 2025 20:15
@datomo datomo reopened this Nov 6, 2025
@datomo datomo closed this Nov 6, 2025
@datomo datomo deleted the multimodel-gis2 branch November 6, 2025 21:58
@datomo datomo restored the multimodel-gis2 branch November 6, 2025 22:00
@datomo datomo reopened this Nov 6, 2025
@datomo datomo marked this pull request as ready for review November 6, 2025 22:01
Copy link
Member

@datomo datomo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After some adjustments this now looks good to me. Thx @murermader!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants