Object Property Characteristics

struct CowlObjPropCharAxiom : public CowlAxiom

Represents a FunctionalObjectProperty, InverseFunctionalObjectProperty, SymmetricObjectProperty, AsymmetricObjectProperty, TransitiveObjectProperty, ReflexiveObjectProperty or IrreflexiveObjectProperty axiom in the OWL 2 specification.

Public Static Functions

static inline CowlObjPropCharAxiom *cowl_obj_prop_char_axiom(CowlCharAxiomType type, CowlAnyObjPropExp *prop, CowlVector *annot)

Returns a retained object property characteristic axiom.

Parameters
  • type – The type.

  • prop – The object property expression.

  • annot – [optional] The annotations.

Returns

Retained axiom, or NULL on error.

static inline CowlObjPropCharAxiom *cowl_obj_prop_char_axiom_retain(CowlObjPropCharAxiom *axiom)

Retains the specified axiom.

Parameters

axiom – The axiom.

Returns

Retained axiom.

static inline void cowl_obj_prop_char_axiom_release(CowlObjPropCharAxiom *axiom)

Releases the specified axiom.

Parameters

axiom – The axiom.

static inline CowlCharAxiomType cowl_obj_prop_char_axiom_get_type(CowlObjPropCharAxiom *axiom)

Gets the type of the specified object property characteristic axiom.

Parameters

axiom – The axiom.

Returns

The type.

static inline CowlObjPropExp *cowl_obj_prop_char_axiom_get_prop(CowlObjPropCharAxiom *axiom)

Gets the object property expression of the specified characteristic axiom.

Parameters

axiom – The axiom.

Returns

The object property expression.

static inline CowlVector *cowl_obj_prop_char_axiom_get_annot(CowlObjPropCharAxiom *axiom)

Gets the annotations of the specified axiom.

Parameters

axiom – The axiom.

Returns

The annotations.

static inline CowlString *cowl_obj_prop_char_axiom_to_string(CowlObjPropCharAxiom *axiom)

Returns the string representation of the specified axiom.

Note

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

Parameters

axiom – The axiom.

Returns

String representation, or NULL on error.

static inline bool cowl_obj_prop_char_axiom_equals(CowlObjPropCharAxiom *lhs, CowlObjPropCharAxiom *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_obj_prop_char_axiom_hash(CowlObjPropCharAxiom *axiom)

Hash function.

Parameters

axiom – The axiom.

Returns

The hash value.

static inline bool cowl_obj_prop_char_axiom_iterate_primitives(CowlObjPropCharAxiom *axiom, CowlPrimitiveFlags flags, CowlIterator *iter)

Iterates over the primitives referenced by the specified axiom.

Parameters
  • axiom – The axiom.

  • flags – Iteration flags.

  • iter – The iterator.

Returns

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

enum CowlCharAxiomType

Represents the type of CowlObjPropCharAxiom.

Values:

enumerator COWL_CAT_FUNC

Functional object property.

enumerator COWL_CAT_INV_FUNC

Inverse functional object property.

enumerator COWL_CAT_SYMM

Symmetric object property.

enumerator COWL_CAT_ASYMM

Asymmetric object property.

enumerator COWL_CAT_TRANS

Transitive object property.

enumerator COWL_CAT_REFL

Reflexive object property.

enumerator COWL_CAT_IRREFL

Irreflexive object property.

enumerator COWL_CAT_COUNT

Number of enum values.

enumerator COWL_CAT_FIRST

First enum value.