ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data.Knowledge Namespace / KnowledgeGraphPropertyInfo Class
Members Example Version

KnowledgeGraphPropertyInfo Class
Class representing information about the names of the unique identifer properties in a knowledge graph. See KnowledgeGraph.GetPropertyNameInfo.
Object Model
KnowledgeGraphPropertyInfo ClassProvenancePropertyInfo Class
Syntax
public sealed class KnowledgeGraphPropertyInfo 
Example
Create a new Relationship from Existing Entities 1
var create_rel = await QueuedTask.Run(() =>
{
  //Instantiate an operation for the Create
  var edit_op = new EditOperation()
  {
    Name = "Create a new relationship record",
    SelectNewFeatures = true
  };

  //Use datasets or feature layer(s) or standalone table(s)
  //Get a reference to the KnowledgeGraph
  //var kg = ... ; 

  //We will use a relate called 'HasEmployee' to relate an Organization w/ a Person
  //Use either tables or map members to get the rows to be related...
  var org_fc = kg.OpenDataset<FeatureClass>("Organization");
  var person_tbl = kg.OpenDataset<Table>("Person");

  //Get the relationship dataset
  //We can use either a table or standalone table
  var emp_tbl = kg.OpenDataset<Table>("HasEmployee");

  //we need the names of the origin and destination relationship properties
  var kg_prop_info = kg.GetPropertyNameInfo();

  //Arbitrarily use the first record from the two entity datasets "to be" related
  //Entities are always related by Global ID. Origin to Destination specifies the
  //direction (of the relate).
  //
  //Populate the attributes for the relationship
  var attribs = new Dictionary<string, object>();

  using (var rc = org_fc.Search())
  {
    if (rc.MoveNext())
      //Use the KnowledgeGraphPropertyInfo to avoid hardcoding...
      attribs[kg_prop_info.OriginIDPropertyName] = rc.Current.GetGlobalID();
  }
  using (var rc = person_tbl.Search())
  {
    if (rc.MoveNext())
      //Use the KnowledgeGraphPropertyInfo to avoid hardcoding...
      attribs[kg_prop_info.DestinationIDPropertyName] = rc.Current.GetGlobalID();
  }

  //Add any extra attribute information for the relation as needed
  attribs["StartDate"] = new DateTimeOffset(DateTime.Now);

  //Add a create for the relationship to the operation
  edit_op.Create(emp_tbl, attribs);

  //Do the create
  return edit_op.Execute();
});
Inheritance Hierarchy

System.Object
   ArcGIS.Core.Data.Knowledge.KnowledgeGraphPropertyInfo

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.4 or higher.
See Also