Select to view content in your preferred language

Neo4j graph store support in ArcGIS Knowledge 11.0

1085
2
Jump to solution
09-29-2022 10:56 PM
Labels (1)
xingchenc
Occasional Contributor

ArcGIS Knowledge 11.0 added the support for Neo4j graph store, as to my understanding, now we are able to register an empty Neo4j graph store in the ArcGIS Portal and then use it to store knowledge graph, but it has serveral limitations that I would like to confirm:

1. Neo4j graph store only supports two types of entities: Non-spatial and Point, while the default graph store(ArangoDB) supports five types of entities: Non-spatial, Point, Multi-Point, Line and Polygon. I was wondering if there any workarounds to this limitiation?

2. For the default graph store(ArangoDB), supported spatial relation operators are esri.graph.ST_Equals(<geom>, <geom>), esri.graph.ST_Intersects(<geom>, <geom>), and esri.graph.ST_Contains(<geom>, <geom>). For spatial utility, there is esri.graph.ST_GeoDistance(<geom>, <geom>) and for spatial construction there is esri.graph.ST_WKTToGeometry(string). But those operators are not valid when using the Neo4j graph store. I was wondering if there any plans to make those operators valid for the Neo4j graph store?

@MeganBanaski1  @AdamMartin 

Thank you !

0 Kudos
1 Solution

Accepted Solutions
MandarPurohit
Esri Contributor

Hi xingchenc,

Yes, a service created on the Neo4j database only supports the point geometry, since, currently Neo4j only supports Points. (https://neo4j.com/docs/cypher-manual/current/syntax/spatial/

This info is available on the service json as:

"geometryCapabilities": {
   "supportsMValues": false,
   "supportsZValues": false,
   "supportedGeometryTypes": [
    "Point"
   ]
  }

 

Also, yes, that the service has a limited support for the spatial functions for now.

At 11.0 we only support a query like this where the first geometry is a rectangle:

MATCH (n:Address) WHERE esri.graph.ST_Intersects(esri.graph.ST_WKTToGeometry("POLYGON((0 -90,179.99999999 -90,179.99999999 90,0 90))"),n.geometry) return n.name

We are looking into supporting additional spatial functions for future releases.

 

View solution in original post

2 Replies
MandarPurohit
Esri Contributor

Hi xingchenc,

Yes, a service created on the Neo4j database only supports the point geometry, since, currently Neo4j only supports Points. (https://neo4j.com/docs/cypher-manual/current/syntax/spatial/

This info is available on the service json as:

"geometryCapabilities": {
   "supportsMValues": false,
   "supportsZValues": false,
   "supportedGeometryTypes": [
    "Point"
   ]
  }

 

Also, yes, that the service has a limited support for the spatial functions for now.

At 11.0 we only support a query like this where the first geometry is a rectangle:

MATCH (n:Address) WHERE esri.graph.ST_Intersects(esri.graph.ST_WKTToGeometry("POLYGON((0 -90,179.99999999 -90,179.99999999 90,0 90))"),n.geometry) return n.name

We are looking into supporting additional spatial functions for future releases.

 

xingchenc
Occasional Contributor

@MandarPurohit  Thanks, Mandar!

0 Kudos