ArcGIS Pro 3.5 API Reference Guide
ArcGIS.Desktop.Editing Namespace / EditOperation Class / Create Method / Create(KnowledgeGraphProvenanceDescription) Method
A description of the provenance record to create.
Example

In This Topic
    Create(KnowledgeGraphProvenanceDescription) Method
    In This Topic
    Creates a new provenance record with the information in the KnowledgeGraphProvenanceDescription.
    Syntax

    Parameters

    provenanceDescription
    A description of the provenance record to create.
    Exceptions
    ExceptionDescription
    provenanceDescription cannot be null.
    The provenanceDescription is missing the provenance source information.
    The source in the provenanceDescription is either not part of a Knowledge Graph or not a Knowledge Graph entity or relate type.
    The Knowledge Graph does not support provenance or provenance information cannot be found.
    The provenanceDescription references a source document but the Knowledge Graph does not support documents.
    Example
    Create a Provenance Record 2
    await QueuedTask.Run(() =>
    {
    
      // check if provenance supported
      var propInfo = kg.GetPropertyNameInfo();
      if (!propInfo.SupportsProvenance)
        return;
    
      //Instantiate an operation for the Create
      var edit_op = new EditOperation()
      {
        Name = "Create a new provenance record",
        SelectNewFeatures = true
      };
    
      var provName = propInfo.ProvenanceTypeName;
    
      //we will add a row to the provenance for person entity
      var person_tbl = kg.OpenDataset<Table>("Person");
    
      //Arbitrarily retrieve the first "person" row
      var instance_id = Guid.Empty;
      using (var rc = person_tbl.Search())
      {
        if (!rc.MoveNext())
          return;
        instance_id = rc.Current.GetGlobalID();//Get the global id
      }
    
      var originHandle = new RowHandle(person_tbl, instance_id);
      var pd = new KnowledgeGraphProvenanceDescription(originHandle, "name", KnowledgeGraphSourceType.Document, "Annual Review 2024", "HR records", "Rock star");
    
      //Create the provenance row
      edit_op.Create(pd);
      if (edit_op.Execute())
      {
        //TODO: Operation succeeded
      }
    
    });
    
    Create an Entity, a Document, a HasDocument and a Provenance record
    await QueuedTask.Run(() =>
    {
      //Instantiate an operation for the Create
      var edit_op = new EditOperation()
      {
        Name = "Create a records",
        SelectNewFeatures = true
      };
    
      // create the entity
      var personToken = edit_op.Create(personLayer, personAtts);
    
      // create the document
      var kgDocDesc = new KnowledgeGraphDocumentDescription(@"D:\Data\BirthCertificate.jpg");
      var docToken = edit_op.Create(docLayer, kgDocDesc);
    
      // create RowHandles from the returned RowTokens
      var personHandle = new RowHandle(personToken);
      var docHandle = new RowHandle(docToken);
    
      // create the "hasDocument" relationship
      var rd = new KnowledgeGraphRelationshipDescription(personHandle, docHandle);
      edit_op.Create(hasDocLayer, rd);
    
      // create the provenance record for the person entity using the document entity
      // provenance record is on the "name" field 
      var pd = new KnowledgeGraphProvenanceDescription(personHandle, "name", docHandle, "", "comments");
      edit_op.Create(pd);
    
      // execute - create all the entities and relationship rows _together_
      edit_op.Execute();
    });
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.5 or higher.
    See Also