ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / KnowledgeGraphMappingExtensions Class / CanAppendToLinkChart Method
The set of named object types and records.
Example Version

CanAppendToLinkChart Method
Determines if the set of named object types and their records can be appended to the link chart map.
Syntax
public static bool CanAppendToLinkChart( 
   Map linkChart,
   KnowledgeGraphLayerIDSet idSet
)

Parameters

linkChart
idSet
The set of named object types and records.

Return Value

True if the records can be appended. False otherwise.
Remarks
You should use this method before calling AppendToLinkChart. An ID set can only be appended if the map is of type MapType.LinkChart, a Knowledge Graph layer already exists and the ID set is not null or empty and does not contain any invalid Named Object types.
Note: Named Object names in a KnowledgeGraphLayerLinkChartIDSet are case-sensitive.
Example
Append to Link Chart
//We create an id set to contain the records to be appended
var dict = new Dictionary<string, List<long>>();
dict["Suspects"] = new List<long>();

//In this case, via results from a query...
var qry2 = "MATCH (s:Suspects) RETURN s";

QueuedTask.Run(async () =>
{
  using (var kg = kg_layer.GetDatastore())
  {
    var graphQuery = new KnowledgeGraphQueryFilter()
    {
      QueryText = qry2
    };

    using (var kgRowCursor = kg.SubmitQuery(graphQuery))
    {
      while (await kgRowCursor.WaitForRowsAsync())
      {
        while (kgRowCursor.MoveNext())
        {
          using (var graphRow = kgRowCursor.Current)
          {
            var obj_val = graphRow[0] as KnowledgeGraphNamedObjectValue;
            var oid = (long)obj_val.GetObjectID();
            dict["Suspects"].Add(oid);
          }
        }
      }
    }

    //make an ID Set to append to the LinkChart
    var idSet = KnowledgeGraphLayerIDSet.FromDictionary(kg, dict);
    //Get the relevant link chart to which records will be
    //appended...in this case, from an open map pane in the
    //Pro application...
    var mapPanes = FrameworkApplication.Panes.OfType<IMapPane>().ToList();
    var mapPane = mapPanes.First(
      mp => mp.MapView.IsLinkChartView &&
      mp.MapView.Map.Name == "Acme Link Chart");
    var linkChartMap = mapPane.MapView.Map;

    //or get the link chart from an item in the catalog...etc.,etc.
    //var projectItem = Project.Current.GetItems<MapProjectItem>()
    //      .FirstOrDefault(pi => pi.Name == "Acme Link Chart");
    //var linkChartMap = projectItem?.GetMap();

    //Call AppendToLinkChart with the id set
    if (linkChartMap.CanAppendToLinkChart(idSet))
      linkChartMap.AppendToLinkChart(idSet);
  }
});
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.3 or higher.
See Also