

Public NotInheritable Class KnowledgeGraphProvenanceDescription
public sealed class KnowledgeGraphProvenanceDescription
Once defined use EditOperation.Create to create a provenance record.
{
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
}
});
}
{
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(docLayer, 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();
});
}
System.Object
ArcGIS.Desktop.Editing.KnowledgeGraphProvenanceDescription
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)