ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Data.Knowledge Namespace / KnowledgeGraph Class / OpenDataset<T> Method
The type of dataset to open.
The name of the dataset to open.
Example

In This Topic
    OpenDataset<T> Method (KnowledgeGraph)
    In This Topic
    Gets a specific ArcGIS.Core.Data.Dataset instance associated with name of type T in the knowledge graph. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public T OpenDataset<T>( 
       string name
    )
    where T: Dataset
    Public Function OpenDataset(Of T As Dataset)( _
       ByVal name As String _
    ) As T

    Parameters

    name
    The name of the dataset to open.

    Type Parameters

    T
    The type of dataset to open.

    Return Value

    A specific ArcGIS.Core.Data.Dataset instance corresponding to type T.
    Exceptions
    ExceptionDescription
     
    name cannot be null or an empty string.
    A geodatabase-related exception has occurred.
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Retrieving FeatureClasses and Definitions
    QueuedTask.Run(() =>
    {
      //Create a connection properties
      var kg_props =
          new KnowledgeGraphConnectionProperties(new Uri(url));
      //Connect to the KnowledgeGraph datastore
      //KnowledgeGraph datastores contain tables and feature classes
      using (var kg = new KnowledgeGraph(kg_props))
      {
        //Get the featureclass definitions from the KG datastore
        var fc_defs = kg.GetDefinitions<FeatureClassDefinition>();
        //For each feature class definition, get the corresponding
        //feature class. Note: The name of the feature class will match 
        //the name of its corresponding KnowledgeGraph named object type
        //in the KnowledgeGraph graph data model
        foreach (var fc_def in fc_defs)
        {
          var fc_name = fc_def.GetName();
          using (var fc = kg.OpenDataset<FeatureClass>(fc_name))
          {
            //TODO - use the feature class
          }
        }
      }
    });
    Retrieving Tables and Definitions
    QueuedTask.Run(() =>
    {
      //Create a connection properties
      var kg_props =
          new KnowledgeGraphConnectionProperties(new Uri(url));
      //Connect to the KnowledgeGraph datastore
      //KnowledgeGraph datastores contain tables and feature classes
      using (var kg = new KnowledgeGraph(kg_props))
      {
        //Get the table definitions from the KG datastore
        var tbl_defs = kg.GetDefinitions<TableDefinition>();
        //For each table definition, get the corresponding
        //table. Note: The name of the table will match the name
        //of its corresponding KnowledgeGraph named object type in
        //the KnowledgeGraph graph data model
        foreach (var tbl_def in tbl_defs)
        {
          var tbl_name = tbl_def.GetName();
          using (var fc = kg.OpenDataset<Table>(tbl_name))
          {
            //TODO - use the table
          }
        }
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.2 or higher.
    See Also