ArcGIS Pro 3.6 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMFilteredFindPathsEntity Class
Members Example

In This Topic
    CIMFilteredFindPathsEntity Class
    In This Topic
    When the ID property has a value, represents a single entity. When the ID property is null, represents entities of a given entity type, filtered by PropertyFilterPredicate if it is not empty.
    Object Model
    CIMFilteredFindPathsEntity ClassCIMFilteredFindPathsEntity ClassCIMFilteredFindPathsEntity Class
    Syntax
    Example
    Run FFP Using Defaults
          //using ArcGIS.Core.Data.Knowledge.Extensions;
    
          await QueuedTask.Run(() =>
    {
              var ffp_config = new CIMFilteredFindPathsConfiguration();
              ffp_config.Name = "Run FFP Using Defaults";
    
              //Origin Entities
              var originEntities = new List<CIMFilteredFindPathsEntity>();
    
              var poi_entity = new CIMFilteredFindPathsEntity();
              poi_entity.EntityTypeName = "POI";//All entities of entity type "POI"
              poi_entity.PropertyFilterPredicate = "";
              originEntities.Add(poi_entity);
              //Add the CIMFilteredFindPathsEntity to the OriginEntities collection
              ffp_config.OriginEntities = originEntities.ToArray();
    
              //Destination Entities
              var destEntities = new List<CIMFilteredFindPathsEntity>();
    
              var supp_entity = new CIMFilteredFindPathsEntity();
              supp_entity.EntityTypeName = "Supplier";//All entities of entity type "Supplier"
              supp_entity.PropertyFilterPredicate = "";
              destEntities.Add(supp_entity);
    
              //Add the CIMFilteredFindPathsEntity to the DestinationEntities collection
              ffp_config.DestinationEntities = destEntities.ToArray();
    
              //Path Filters
              ffp_config.PathFilters = [];//Empty
              //Traversal
              ffp_config.TraversalDirections = [];//Empty
    
              //Other
              ffp_config.RelationshipCostProperty = "";
              ffp_config.DefaultRelationshipCost = 1.0;
              ffp_config.DefaultTraversalDirectionType = KGTraversalDirectionType.Any;
              ffp_config.EntityUsage = FilteredFindPathsEntityUsage.AnyOriginAnyDestination;
              ffp_config.PathMode = KGPathMode.Shortest;
              ffp_config.MinPathLength = (int)1;//Min number of relationships in path
              ffp_config.MaxPathLength = (int)8;//Max number of relationships in path
              ffp_config.MaxCountPaths = (int)100000;//Total number of paths to return
              ffp_config.ClosedPathPolicy = KGClosedPathPolicy.Forbid;
              ffp_config.TimeFilter = null;
    
              var results = kg.RunFilteredFindPaths(ffp_config);
              //TODO process/analyze results
          });
    Run FFP Using Multiple Entities and Destinations
        //using ArcGIS.Core.Data.Knowledge.Extensions;
    
        await QueuedTask.Run(() =>
        {
            var ffp_config = new CIMFilteredFindPathsConfiguration();
            ffp_config.Name = "Run FFP w Multiple Entities and Destinations";
    
            //Origin Entities
            var originEntities = new List<CIMFilteredFindPathsEntity>();
    
            foreach (var entity_name in new List<string> { "Person", "POI", "Supplier", "Plant" })
            {
                var origin_entity = new CIMFilteredFindPathsEntity();
                origin_entity.EntityTypeName = entity_name;
                origin_entity.PropertyFilterPredicate = "";
                originEntities.Add(origin_entity);
            }
    
            //Add the CIMFilteredFindPathsEntity to the OriginEntities collection
            ffp_config.OriginEntities = originEntities.ToArray();
    
            //Destination Entities
            var destEntities = new List<CIMFilteredFindPathsEntity>();
    
            foreach (var entity_name in new List<string> { 
      "Supplier", "Plant", "Part", "Customer" })
    {
                var dest_entity = new CIMFilteredFindPathsEntity();
                dest_entity.EntityTypeName = entity_name;
                dest_entity.PropertyFilterPredicate = "";
                destEntities.Add(dest_entity);
            }
    
            //Add the CIMFilteredFindPathsEntity to the DestinationEntities collection
            ffp_config.DestinationEntities = destEntities.ToArray();
    
            //Path Filters
            ffp_config.PathFilters = [];//Empty
                                                                    //Traversal
            ffp_config.TraversalDirections = [];//Empty
    
            //Other
            ffp_config.RelationshipCostProperty = "";
            ffp_config.DefaultRelationshipCost = 1.0;
            ffp_config.DefaultTraversalDirectionType = KGTraversalDirectionType.Any;
            ffp_config.EntityUsage = FilteredFindPathsEntityUsage.AnyOriginAnyDestination;
            ffp_config.PathMode = KGPathMode.Shortest;
            ffp_config.MinPathLength = (int)1;//Min number of relationships in path
            ffp_config.MaxPathLength = (int)8;//Max number of relationships in path
            ffp_config.MaxCountPaths = (int)100000;//Total number of paths to return
            ffp_config.ClosedPathPolicy = KGClosedPathPolicy.Forbid;
            ffp_config.TimeFilter = null;
    
            var results = kg.RunFilteredFindPaths(ffp_config);
            //TODO process/analyze results
        });
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMFilteredFindPathsEntity

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.3 or higher.
    See Also