ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.Knowledge Namespace / KnowledgeGraphSearchFilter Class / SearchTarget Property
Example

In This Topic
    SearchTarget Property
    In This Topic
    Gets or sets the target of the search. The default value is KnowledgeGraphNamedTypeCategory.Entity.
    Syntax
    Public Property SearchTarget As KnowledgeGraphNamedTypeCategory
    public KnowledgeGraphNamedTypeCategory SearchTarget {get; set;}
    Remarks
    Only entities or relationships matching the specified target will be included in the results.
    Example
    Submit a Text Search
    {
      await QueuedTask.Run(async () =>
      {
        //and assuming you have established a connection to a knowledge graph
        //...
        //Construct a KG search filter. Search text uses Apache Lucene Query Parser
        //syntax - https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
        var kg_sf = new KnowledgeGraphSearchFilter()
        {
          SearchTarget = KnowledgeGraphNamedTypeCategory.Entity,
          SearchText = "Acme Electric Co.",
          ReturnSearchContext = true,
          MaxRowCount = 10 //Default is 100 if not specified
        };
    
        //submit the search - returns a KnowledgeGraphCursor
        var e = 0;
        using (var kg_rc = kg.SubmitSearch(kg_sf))
        {
          //wait for rows to be returned from the server
          //note the "await"...
          while (await kg_rc.WaitForRowsAsync())
          {
            //Rows have been retrieved - process this "batch"...
            while (kg_rc.MoveNext())
            {
              //Get the current KnowledgeGraphRow
              using (var graph_row = kg_rc.Current)
              {
                //We are returning entities from this search
                var entity = graph_row[0] as KnowledgeGraphEntityValue;
                var entity_type = entity.GetTypeName();
                var record = new List<string>();
                //discover keys(aka "fields") dynamically via GetKeys
                foreach (var prop_name in entity.GetKeys())
                {
                  var obj_val = entity[prop_name] ?? "null";
                  record.Add(obj_val.ToString());
                }
                System.Diagnostics.Debug.WriteLine(
                  $"{entity_type}[{e++}] " + string.Join(", ", record));
                //or use "Process a KnowledgeGraphRow Value" snippet
                //ProcessKnowledgeGraphRowValue(entity);
              }
            }
          }//WaitForRowsAsync
        }//SubmitSearch
      });
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.2 or higher.
    See Also