Types
import type CIMFilteredFindPathsResultJSON from "@arcgis/core/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.js";

Type definitions

FFPExecutionWarning

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
Type
"AtLeastOneCostIsStrictlyNegative"

CIMFilteredFindPathsResultJSON

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

The returned result of executeFindPaths() and executeFindPathsAsynchronous().

type

Property
Type
"CIMFilteredFindPathsResult"
Since
ArcGIS Maps SDK for JavaScript 5.0

The returned type of executeFindPaths and executeFindPathsAsynchronous.

error

Property
Type
CIMFilteredFindPathsError | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Any errors encountered while executing filtered find path.

configurationWarning

Property
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

Property
Type
FFPExecutionWarning[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Warnings indicating issues during pathfinding.

statistics

Property
Type
CIMFilteredFindPathsStatistics
Since
ArcGIS Maps SDK for JavaScript 5.0

Pathfinding statistics.

paths

Property
Type
CIMFilteredFindPathsResultPaths
Since
ArcGIS Maps SDK for JavaScript 5.0

The paths returned.

CIMFilteredFindPathsError

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

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

type

Property
Type
"CIMFilteredFindPathsError"
Since
ArcGIS Maps SDK for JavaScript 5.0

"CIMFilteredFindPathsError"

error

Property
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

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

Details about the error.

CIMFilteredFindPathsStatistics

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

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'.

type

Property
Type
"CIMFilteredFindPathsStatistics"
Since
ArcGIS Maps SDK for JavaScript 5.0

"CIMFilteredFindPathsStatistics"

countLocalGraphNodes

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Number of nodes found in the local graph.

countLocalGraphEdges

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Number of edges in the local graph. One edge in the local graph may represent multiple relationships when these relationships are parallel and equivalent with regard to pathfinding

countOriginExpansionQueries

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Gets or sets the count of expansion queries that were done to discover the neighborhood of some origin entities.

countDestinationExpansionQueries

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Gets or sets the count of expansion queries that were done to discover the neighborhood of some destination entities.

countWaypointsExpansionQueries

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Gets or sets the count of expansion queries that were done to discover the neighborhood of entity or relationship waypoints.

CIMFilteredFindPathsResultPaths

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

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.

type

Property
Type
"CIMKGPaths"
Since
ArcGIS Maps SDK for JavaScript 5.0

"CIMKGPaths"

entitiesUIDs

Property
Type
string[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of entities that may be used in paths (not all entities are guaranteed to be used).

entityTypes

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

A list parallel to EntitiesUIDs representing entity type indices. If EntityTypes[i] >= 0, EntitiesUIDs[i] has type IndexedEntityTypes[EntityTypes[i]], otherwise the entity has been deleted after the find path operation.

indexedEntityTypes

Property
Type
string[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of entity types, indexed by entityTypes

relationshipsGroupsUIDsBuffer

Property
Type
string[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationships that may be used in paths (not all relationships are guaranteed to be used). The list may contain duplicate elements.

relationshipTypes

Property
Type
number[] | undefined
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.

indexedRelationshipTypes

Property
Type
string[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationship types, indexed by relationshipTypes

relationshipsGroupsUIDsEndIndex

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationship group's relationship end indices (indexes into relationshipsGroupsUIDsBuffer). Values must be positive.

relationshipsGroupsFrom

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationship group's origin entity index (indexes into entitiesUIDs). Values must be positive.

relationshipsGroupsTo

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationship group's destination entity index (indexes into entitiesUIDs). Values must be positive.

relationshipsFrom

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationship's origin entity index (indexes into entitiesUIDs).

relationshipsTo

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The list of relationships destination entity index (indexes into entitiesUIDs).

pathsBuffer

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

List of relationships groups indices used by paths. Values must be positive.

pathsEndIndex

Property
Type
number[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

List of paths relationships groups end indices (indexes into 'PathsBuffer'). Values must be positive.