import type CIMFilteredFindPathsResultJSON from "@arcgis/core/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.js";Type definitions
FFPExecutionWarning
- Since
- ArcGIS Maps SDK for JavaScript 5.0
- Type
- "AtLeastOneCostIsStrictlyNegative"
CIMFilteredFindPathsResultJSON
- Since
- ArcGIS Maps SDK for JavaScript 5.0
The returned result of executeFindPaths() and executeFindPathsAsynchronous().
configurationWarning
- Type
- "None" | "AllOriginsAreExcluded" | "AllDestinationsAreExcluded" | "AllOptionalWaypointsAreExcluded" | "AtLeastOneMandatoryEntityWaypointIsExcluded" | "AtLeastOneMandatoryRelationshipWaypointIsExcluded" | "ReachedMaxPathLength"
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Warnings indicating why a path was not found.
executionWarnings
- Type
- FFPExecutionWarning[] | undefined
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Warnings indicating issues during pathfinding.
CIMFilteredFindPathsError
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Errors returned in the result of executeFindPaths() and executeFindPathsAsynchronous().
When no path has been found, and CIMFilteredFindPathsResultJSON.configurationWarning is different from None, it is likely that the user made an unintended mistake in the configuration
error
- Type
- "None" | "ConfigurationHasTooManyInputEntities" | "ConfigurationIsTooComplex" | "PunctualEventHasNoTime" | "DurativeEventHasNoTime" | "DurativeEventHasOneMissingTime" | "DurativeEventHasSwappedTimes" | "PropertyFilterSyntaxError"
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Errors indicating why the tool could not be executed.
detailedErrorMessage
- Type
- string
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Details about the error.
CIMFilteredFindPathsStatistics
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Represents the statistics related to an executeFindPaths() or executeFindPathsAsynchronous() search. It contains the size of the local graph, and the number of openCypher "expansion" queries that have been issued to construct the local graph.
The local graph is an in-memory graph used for pathfinding where a node represents an entity in the Knowledge Graph and an edge represents one or many parallel relationships in the Knowledge Graph.
The local graph typically contains (much) less nodes than the Knowledge Graph, but enough nodes and edges to ensure that the pathfinding results are accurate. For example, to guarantee that all paths of length up to 'L' between 'A' and 'B' are present in the local graph, we ensure that the sum of counts of "expansion" queries related to 'A' and 'B' is greater or equal to 'L'.
CIMFilteredFindPathsResultPaths
- Since
- ArcGIS Maps SDK for JavaScript 5.0
Represents the paths found by an executeFindPaths() and executeFindPathsAsynchronous() search.
We use a memory-optimized representation to avoid storing redundant information because it is often the case that a path shares some entities and relationships with many other paths, especially if the Filtered Find Paths configuration uses 'pathMode: "All"'.
Definition: a relationship group contains Knowledge Graph relationships associated to a single edge in the local graph.
Paths are encoded this way:
The path 'p' uses relationships groups pathsBuffer[pathsEndIndex[p-1] .. pathsEndIndex[p]], and:
- the origin of the first relationship group is the origin of the path
- the destination of the last relationship group is the destination of the path
A path of length zero (with entity 'e') has a single relationship group containing no relationship and where the origin and the destination are 'e'.
The relationships group 'g' has origin entitiesUIDs[relationshipsGroupsFrom[g]] and destination entitiesUIDs[RelationshipsGroupsTo[g]].
Its relationships are relationshipsGroupsUIDsBuffer[relationshipsGroupsUIDsEndIndex[g-1] .. relationshipsGroupsUIDsEndIndex[g]].
If relationshipsFrom[i] >= 0, relationship relationshipsGroupsUIDsBuffer[i] has origin entitiesUIDs[relationshipsFrom[i]]
otherwise the relationship has been deleted after pathfinding.
If relationshipsTo[i] >= 0, relationship relationshipsGroupsUIDsBuffer[i] has destination entitiesUIDs[relationshipsTo[i]]
otherwise the relationship has been deleted after pathfinding.
Note that origin and destination of a relationship may not match origin and destination of the relationship group because the relationship can be traversed backwards.
relationshipTypes
- Since
- ArcGIS Maps SDK for JavaScript 5.0
A list parallel to RelationshipsGroupsUIDsBuffer representing relationship type indices. If RelationshipTypes[i] >= 0, RelationshipsGroupsUIDsBuffer[i] has type IndexedRelationshipTypes[RelationshipTypes[i]], otherwise the relationship has been deleted after the find path operation.