Class Expressions

struct CowlClsExp : public CowlObject

Represents a ClassExpression in the OWL 2 specification.

Subclassed by CowlClass, CowlDataCard, CowlDataHasValue, CowlDataQuant, CowlNAryBool, CowlObjCard, CowlObjCompl, CowlObjHasSelf, CowlObjHasValue, CowlObjOneOf, CowlObjQuant

Public Static Functions

static inline CowlAnyClsExp *cowl_cls_exp_retain(CowlAnyClsExp *exp)

Retains the specified class expression.

Parameters

exp – The class expression.

Returns

Retained class expression.

static inline void cowl_cls_exp_release(CowlAnyClsExp *exp)

Releases the specified class expression.

Parameters

exp – The class expression.

static inline CowlClsExpType cowl_cls_exp_get_type(CowlAnyClsExp *exp)

Gets the type of the specified class expression.

Parameters

exp – The class expression.

Returns

The type.

static inline CowlString *cowl_cls_exp_to_string(CowlAnyClsExp *exp)

Returns the string representation of the specified class expression.

Note

The returned string is retained, so you are responsible for releasing it.

Parameters

exp – The class expression.

Returns

String representation, or NULL on error.

static inline bool cowl_cls_exp_equals(CowlAnyClsExp *lhs, CowlAnyClsExp *rhs)

Equality function.

Parameters
  • lhs – LHS of the equality relation.

  • rhs – RHS of the equality relation.

Returns

True if the equality relation holds, false otherwise.

static inline ulib_uint cowl_cls_exp_hash(CowlAnyClsExp *exp)

Hash function.

Parameters

exp – The class expression.

Returns

The hash value.

static inline bool cowl_cls_exp_iterate_primitives(CowlAnyClsExp *exp, CowlPrimitiveFlags flags, CowlIterator *iter)

Iterates over the primitives referenced by the specified class expression.

Parameters
  • exp – The class expression.

  • flags – Iteration flags.

  • iter – The iterator.

Returns

True if the iteration was completed, false if it was stopped.

enum CowlClsExpType

Represents the type of CowlClsExp.

Values:

enumerator COWL_CET_CLASS

CowlClass - class.

enumerator COWL_CET_OBJ_SOME

CowlObjQuant - “some values from” object property restriction.

enumerator COWL_CET_OBJ_ALL

CowlObjQuant - “all values from” object property restriction.

enumerator COWL_CET_OBJ_MIN_CARD

CowlObjCard - “minimum cardinality” object property restriction.

enumerator COWL_CET_OBJ_MAX_CARD

CowlObjCard - “maximum cardinality” object property restriction.

enumerator COWL_CET_OBJ_EXACT_CARD

CowlObjCard - “exact cardinality” object property restriction.

enumerator COWL_CET_OBJ_HAS_VALUE

CowlObjHasValue - “has value” object property restriction.

enumerator COWL_CET_OBJ_HAS_SELF

CowlObjHasSelf - “has self” object property restriction.

enumerator COWL_CET_DATA_SOME

CowlDataQuant - “some values from” data property restriction.

enumerator COWL_CET_DATA_ALL

CowlDataQuant - “all values from” data property restriction.

enumerator COWL_CET_DATA_MIN_CARD

CowlDataCard - “min cardinality” data property restriction.

enumerator COWL_CET_DATA_MAX_CARD

CowlDataCard - “max cardinality” data property restriction.

enumerator COWL_CET_DATA_EXACT_CARD

CowlDataCard - “exact cardinality” data property restriction.

enumerator COWL_CET_DATA_HAS_VALUE

CowlDataHasValue - “has value” data property restriction.

enumerator COWL_CET_OBJ_INTERSECT

CowlNAryBool - Intersection of class expressions.

enumerator COWL_CET_OBJ_UNION

CowlNAryBool - Union of class expressions.

enumerator COWL_CET_OBJ_COMPL

CowlObjCompl - Complement of a class expression.

enumerator COWL_CET_OBJ_ONE_OF

CowlObjOneOf - Enumeration of individuals.

enumerator COWL_CET_COUNT

Number of enum values.

enumerator COWL_CET_FIRST

First enum value.

Classes

Individual enumeration