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

In This Topic
    KnowledgeGraphSearchFilter Constructor
    In This Topic
    Represents a filter for performing a full text search against a KnowledgeGraph.
    Syntax
    Public Function New()
    public KnowledgeGraphSearchFilter()
    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