{
//using ArcGIS.Core.Data.Knowledge.Extensions;
await QueuedTask.Run(() =>
{
var ffp_config = new CIMFilteredFindPathsConfiguration();
ffp_config.Name = "Run FFP w PropertyFilterPredicates";
//Origin Entities
var originEntities = new List<CIMFilteredFindPathsEntity>();
var origin_entity = new CIMFilteredFindPathsEntity();
origin_entity.EntityTypeName = "POI";
//prefix can be anything - foo, bar, fred, n, x, etc.
origin_entity.PropertyFilterPredicate = "n.name = 'Robert Johnston'";
originEntities.Add(origin_entity);
var origin_entity2 = new CIMFilteredFindPathsEntity();
origin_entity2.EntityTypeName = "EnergySource";
//prefix can be anything - foo, bar, fred, n, x, s, etc.
origin_entity2.PropertyFilterPredicate = "s.Source_Name = 'natural gas'";
originEntities.Add(origin_entity2);
//etc.
//Add the CIMFilteredFindPathsEntity to the OriginEntities collection
ffp_config.OriginEntities = originEntities.ToArray();
//Destination Entities
//Same thing, add specific entities using a PropertyFilterPredicate as needed
var destEntities = new List<CIMFilteredFindPathsEntity>();
var dest_entity = new CIMFilteredFindPathsEntity();
dest_entity.EntityTypeName = "Supplier";
//prefix can be anything - foo, bar, fred, n, x, s, etc.
origin_entity.PropertyFilterPredicate = "x.Supplier_Name = 'Supplier 84'";
destEntities.Add(dest_entity);
//etc.
//Add the CIMFilteredFindPathsEntity to the OriginEntities collection
ffp_config.DestinationEntities = destEntities.ToArray();
//TODO - use the config
//var results = kg.RunFilteredFindPaths(ffp_config);
// ...
});
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)