
public sealed class KnowledgeGraphProvenanceDescription
Public NotInheritable 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(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(); });
System.Object
ArcGIS.Desktop.Editing.KnowledgeGraphProvenanceDescription
Target Platforms: Windows 11, Windows 10