# Classes¶

Get the classes in the DEXPI Information Model.

cls_label
Simple label of the class.
scope_label
Simple label of the scope of the class, e.g., Equipment or Piping.

Note

A scope corresponds to a chapter in the DEXPI Specification Document.

cls_rdl
Optional. The RDL reference associated with the scale.
is_abstract_class
A boolean that indicates if the class is abstract. An abstract class should not be instantiated directly.

Note

If a class is abstract, this does not mean that a certain XML element is forbidden in a DEXPI-compliant Proteus XML file. For example, the DEXPI class Equipment is abstract. In Proteus XML, any instance of Equipment or of a subclass thereof will be represented by an <Equipment> XML element. The subclass will be given by an appropriate RDL reference. However, as the DEXPI class is abstract, this RDL reference should be more specific than Equipment.

is_range_class
A boolean that indicates if a class is a range class. Range classes are auxiliary classes that are used in some declarations for model reference attributes that admit several standard classes. Range classes are always abstract.

Example

A PipingNetworkSegment can start at different types of objects, including, for instance, a Nozzle or a PipingComponent. Thus, the FromItem attribute of PipingNetworkSegment uses an auxiliary class (a range class) to specify the admissible types of objects. This class is called RangeOfModelReferenceFromItemOfPipingNetworkSegment. It is a superclass of the admissible standard classes Nozzle, PipingComponent, etc.

Note

In the DEXPI Specification Document, range classes are not explicitly mentioned. They are always replaced by their subclasses. For instance, the DEXPI Specification Document states that the admissible objects for FromItem must be one of Nozzle, PipingComponent, etc.

## SPARQL Query¶

PREFIX meta: <http://sandbox.dexpi.org/meta/>
PREFIX im: <http://sandbox.dexpi.org/informationmodel/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?cls_label ?scope_label ?cls_rdl ?is_abstract_class ?is_range_class
WHERE
{
?cls a meta:ModelClass;
meta:simpleLabel ?cls_label;
^meta:contains ?scope.

?scope meta:simpleLabel ?scope_label.

OPTIONAL
{
?cls meta:rdl ?cls_rdl.
}

BIND(EXISTS {?cls a meta:AbstractClass} as ?is_abstract_class)
BIND(EXISTS {?cls a meta:RangeClass} as ?is_range_class)

}
ORDER BY ?cls_label


## Partial SPARQL Results¶

The full query result contains 111 rows. The first rows are as follows:

cls_label scope_label cls_rdl is_abstract_class is_range_class
ActuatingFunction Instrumentation http://sandbox.dexpi.org/rdl/ActuatingFunction false false
ActuatingSystem Instrumentation http://sandbox.dexpi.org/rdl/ActuatingSystem false false
AngleBallValve Piping http://sandbox.dexpi.org/rdl/AngleBallValve false false
AngleGlobeValve Piping http://data.posccaesar.org/rdl/RDS882944 false false
AnglePlugValve Piping http://sandbox.dexpi.org/rdl/AnglePlugValve false false
... ... ... ... ...

## Full SPARQL Results¶

### Online¶

Note

Online results can change! There is no guarantee that these results correspond to version 0.11 of the DEXPI Information Model.

Get results online from DEXPI SPARQL server at http://endpoint.dexpi.org:

### Offline¶

Note

The offline results below are guaranteed to correspond to version 0.11 of the DEXPI Information Model.

Cached results (offline):