Supported Queries

Overview

The SAS Open Metadata Interface provides methods to get information about the SAS Metadata Server's availability and configuration, namespaces, metadata repositories, and metadata objects.

Querying Server Availability and Configuration

In SAS 9.3, the IServer server interface Status method has been enhanced to get more information about the SAS Metadata Server. Using the Status method, you can get the following information:
  • the server's current state
  • SAS Metadata Model and platform version numbers
  • the server locale
  • the value of specific server configuration options that are set in the omaconfig.xml file and server invocation command
  • journaling statistics
  • server performance statistics
  • information about server backups
  • information about the server’s alert e-mail notification subsystem
For more information, see Status.

Querying Namespaces

A namespace refers to the set of metadata types that can be accessed by the SAS Metadata Server. The SAS Open Metadata Interface defines two namespaces:
  • The REPOS namespace contains metadata types that describe metadata repositories.
  • The SAS namespace contains all metadata types that describe application elements.
SAS provides the GetNamespaces method to enable you to get the namespaces programmatically. For more information, see GetNamespaces. The GetTypes method gets all of the metadata types in a namespace. For more information, see GetTypes. The GetTypeProperties method gets all possible properties for a specified metadata type. For more information, see GetTypeProperties.
The SAS Metadata Model is a hierarchical model. The GetSubtypes method gets subtypes of a specified metadata type. For more information, see GetSubtypes. The IsSubtypeOf method determines whether on metadata type is a subtype of another metadata type.For more information, see IsSubtypeOf. All of these methods are referred to as management methods because they enable you to get information about the metadata environment. This information provides useful background information when preparing to create metadata objects.

Querying Repositories

When a repository is created, it is registered in a SAS Repository Manager. The SAS Repository Manager is itself a repository, which maintains information that enables the SAS Metadata Server to access the repositories, metadata programmers to create metadata in the repositories, and administrators to administer the availability of the repositories.
You can determine the repositories that have been registered in a SAS Repository Manager by using the GetRepositories method. For more information, see GetRepositories. The GetRepositories method lists the Id, Name, Desc, and DefaultNS attributes of the repositories registered in the SAS Repository Manager. A repository identifier is required to add metadata to a repository. For usage information, see Using GetRepositories to Get the Registered Repositories.
The SAS Repository Manager also stores Path, RepositoryType, RepositoryFormat, Access, PauseState, and CurrentAccess attributes for a repository. To get the values of these attributes, you can issue the GetRepositories method with the OMI_ALL (1) flag set. For usage information, see Using GetRepositories to Get Repository Access and Status Information.
A repository is described by a metadata type just like any other metadata object. To get values for global attributes that are stored for all metadata types, you can use the same methods that you use to read application objects. For more information, see “Querying Metadata Objects” below. Issue the GetMetadata and GetMetadataObjects method calls on the REPOS namespace and specify the RepositoryBase metadata type. For more information, see Using GetMetadata to Get a Repository's Regular Attributes.

Querying Metadata Objects

A metadata object consists of attributes and associations that uniquely describe the object instance. The object instance can be an application element or a repository. The SAS Open Metadata Interface provides two methods for reading metadata objects:
  • The GetMetadata method gets specified properties of a specific metadata object.
  • The GetMetadataObjects method gets all metadata objects of a specified metadata type from the specified repository.
The methods support flags and options that enable you to expand or to filter your requests.
For reference information about the methods, see GetMetadata and GetMetadataObjects.
SAS 9.3 introduces a SAS type dictionary to ensure consistency in common and shared objects. For objects that are persisted in metadata, the SAS type dictionary standardizes the logical metadata definitions representing the objects in a SAS Metadata Repository. See Using Interfaces that Read and Write Metadata in SAS 9.3 for information about how the SAS type dictionary affects GetMetadata and GetMetadataObjects requests.