1.1 Glossary

This document uses the following terms:

anchored expression: An expression or subexpression that is meaningful only in a specific entity context. An expression that is not an anchored expression is a floating expression. EntityRef elements are anchored in the entity to which they refer. AttributeRef elements are anchored in the entity that contains the attribute to which they refer if the attribute does not have an Attribute.IsAggregate element whose value is true. Function elements are anchored if any of their arguments are anchored, unless the argument takes a set of values and the function returns a scalar value. All other expressions or subexpressions, including Literal elements, Null elements, ParameterRef elements, and AttributeRef elements that refer to aggregate attributes are not anchored.  An Expression.Path element that starts with a RolePathItem element anchors an otherwise floating expression. The RolePathItem element is anchored in the entity that contains the role that is referenced by the RolePathItem.RoleID child element.

attribute: A characteristic of some object or entity, typically encoded as a name/value pair.

Augmented Backus-Naur Form (ABNF): A modified version of Backus-Naur Form (BNF), commonly used by Internet specifications. ABNF notation balances compactness and simplicity with reasonable representational power. ABNF differs from standard BNF in its definitions and uses of naming rules, repetition, alternatives, order-independence, and value ranges. For more information, see [RFC5234].

big-endian: Multiple-byte values that are byte-ordered with the most significant byte stored in the memory location with the lowest address.

common language runtime (CLR): The core runtime engine in the Microsoft .NET Framework for executing applications. The common language runtime supplies managed code with services such as cross-language integration, code access security, object lifetime management, and debugging and profiling support.

context entity: The context entity of an expression is a specific entity whose context is used to evaluate the expression. For example, within the expression, attribute references can only be to attributes that are contained by the context entity or contained by any entity in the same inheritance hierarchy as the context entity.

contextual name: A context-sensitive name for an attribute when the entity that contains the attribute is reached via a role.

culture: A part of a language identification tagging system, as described in [RFC1766]. Culture names adhere to the format "<languagecode2>-<country/regioncode2>."

data source: A physical data source.

data source view (DSV): A logical representation of database objects from a given data source specified by a schema.

drillthrough: A means in a client application to view a more detailed view of a subset of the data after clicking on a displayed instance of data. The displayed instance of data contains an action with a drillthrough link, and clicking on the link executes a semantic query that returns more detailed results.

entity: A single business object about which data can be stored. It is the subject of a table in a relational database.

entity folder: A folder that can contain entities and further entity folders.

field: An attribute or role of an entity.

field folder: A folder that can contain fields and further field folders.

filter: A set of criteria that controls the set of records that is returned as a result set.

globally unique identifier (GUID): A term used interchangeably with universally unique identifier (UUID) in Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not imply or require a specific algorithm or mechanism to generate the value. Specifically, the use of this term does not imply or require that the algorithms described in [RFC4122] or [C706] must be used for generating the GUID. See also universally unique identifier (UUID).

inheritance: An inheritance relation describes how one entity inherits from another. The entity that inherits from another entity is known as the descendent entity, and the other entity is known as the ancestor entity. A direct descendent is called a child entity and a direct ancestor is called a parent entity.

inheritance hierarchy: An inheritance relation gives rise to a natural ordering among entity elements known as an inheritance hierarchy. An inheritance hierarchy is a logical tree structure that organizes a collection of entities such that each entity has zero or one parent entity and zero or more child entities. An entity that does not have a parent entity is a root node in the inheritance hierarchy, and an entity that does not have a child entity is a leaf node in the inheritance hierarchy.

little-endian: Multiple-byte values that are byte-ordered with the least significant byte stored in the memory location with the lowest address.

MIME type: A method that is used by protocol clients to associate files of a certain type with applications that can open or access files of that type.

model: A semantic model.

model item: An element that defines an element of the semantic model. The model items are entities, entity folders, fields, and field folders.

non-anchored expression: An expression that is not an anchored expression.

path: An ordered list of roles to follow to reach a specific entity.

perspective: A subset of the semantic model to provide to users as a constrained submodel.

physical data source: A collection of information usually stored in a relational database from which data can be queried.

physical model: The physical model contains a description of the physical database with optional transformations to more closely correspond to the desired semantic model. An abstract physical model is represented by a concrete data source view (DSV) in an SMDL model.

primary key: A field or set of fields that uniquely identifies each record in a table. A primary key cannot contain a null value.

query: A semantic query, as defined in [MS-SMDL].

relation: A relation or relationship is an association between a pair of tables in a relational database, where one or more columns in one table is associated with one or more columns, which are typically primary keys, in the other table.

report definition language (RDL): A file type that is used to represent the metadata for defining a report.

role: An association between a pair of entities. One entity is the source or origin of the role and the other entity is the target or destination of the role. The role specifically describes how the target entity is related to the source entity. For each role there is a naturally occurring corresponding role called the related role, where the source entity of the related role is the target entity of the role and the target entity of the related role is the source entity of the role. The association repeats for each subsequent pair of entities, so that the target of one role becomes the source of the next role. In this way, entities in an information model may be associated through chains of roles that extend from one entity to the next throughout the information model.

semantic model: A user-friendly metadata description of a data source. A semantic model is an additional layer of information that maps database tables and views into concepts that are meaningful to business users. A semantic model is a collection of entities, their attributes, and their relationships (roles) that reflects the real-world relationships between business functions and processes. An example of this is how a product's entity relates to inventory and sales entities. Entities contain a set of attributes describing the entity, such as product ID, product name, and other product-related items, in addition to a set of roles that describe the relationship of an entity to another entity in the model.

semantic query: A query that is expressed using expressions and items from a semantic model.

static function: A function that is evaluated by the semantic modeling engine rather than being translated into the target query language. As a result, static functions are evaluated only at the start of query execution rather than being evaluated for each row in the query.

table: A two-dimensional object in a relational database that stores data in rows and columns.

variation: An attribute or role that is considered to be a variation of a field. For example, the attributes Order Year, Order Month, and Order Day are considered variations of the Order Date attribute.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.