Object property axioms

Object subproperties

struct CowlSubObjPropAxiom

Represents a SubObjectPropertyOf axiom in the OWL 2 specification.

Pseudo-extends: CowlAxiom

CowlSubObjPropAxiom *cowl_sub_obj_prop_axiom(CowlAnyObjPropExp *sub, CowlAnyObjPropExp *super, CowlVector *annot)

Returns an object subproperty axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • sub – The subproperty.

  • super – The superproperty.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlSubObjPropAxiom *cowl_sub_obj_prop_chain_axiom(CowlVector *sub, CowlAnyObjPropExp *super, CowlVector *annot)

Returns an object subproperty axiom where the subproperty is a chain of properties.

Note

You must release the returned object via cowl_release().

Parameters:
  • sub – The chain of properties.

  • super – The superproperty.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlAny *cowl_sub_obj_prop_axiom_get_sub(CowlSubObjPropAxiom *axiom)

Gets the subproperty.

Note

The subproperty can be either an object property expression or a property expression chain.

Parameters:
  • axiom – The axiom.

Returns:

The subproperty.

CowlObjPropExp *cowl_sub_obj_prop_axiom_get_super(CowlSubObjPropAxiom *axiom)

Gets the superproperty.

Parameters:
  • axiom – The axiom.

Returns:

The superproperty.

Equivalent and disjoint object properties

struct CowlNAryObjPropAxiom

Represents an EquivalentObjectProperties or DisjointObjectProperties axiom in the OWL 2 specification.

Pseudo-extends: CowlAxiom

CowlNAryObjPropAxiom *cowl_nary_obj_prop_axiom(CowlNAryAxiomType type, CowlVector *props, CowlVector *annot)

Returns a N-ary object property axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • type – The type.

  • props – The object properties.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlNAryAxiomType cowl_nary_obj_prop_axiom_get_type(CowlNAryObjPropAxiom *axiom)

Gets the type of the specified N-ary object property axiom.

Parameters:
  • axiom – The axiom.

Returns:

The type.

CowlVector *cowl_nary_obj_prop_axiom_get_props(CowlNAryObjPropAxiom *axiom)

Gets the object properties of the specified N-ary object property axiom.

Parameters:
  • axiom – The axiom.

Returns:

The object properties.

Inverse object properties

struct CowlInvObjPropAxiom

Represents an InverseObjectProperties axiom in the OWL 2 specification.

Pseudo-extends: CowlAxiom

CowlInvObjPropAxiom *cowl_inv_obj_prop_axiom(CowlAnyObjPropExp *first, CowlAnyObjPropExp *second, CowlVector *annot)

Returns an inverse object properties axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • first – The first object property expression.

  • second – The second object property expression.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlObjPropExp *cowl_inv_obj_prop_axiom_get_first_prop(CowlInvObjPropAxiom *axiom)

Gets the first of the two object property expressions.

Parameters:
  • axiom – The axiom.

Returns:

The first object property expression.

CowlObjPropExp *cowl_inv_obj_prop_axiom_get_second_prop(CowlInvObjPropAxiom *axiom)

Gets the second of the two object property expressions.

Parameters:
  • axiom – The axiom.

Returns:

The second object property expression.

Object property domain

struct CowlObjPropDomainAxiom

Represents an ObjectPropertyDomain axiom in the OWL 2 specification.

Pseudo-extends: CowlAxiom

CowlObjPropDomainAxiom *cowl_obj_prop_domain_axiom(CowlAnyObjPropExp *prop, CowlAnyClsExp *domain, CowlVector *annot)

Returns an object property domain axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • prop – The object property.

  • domain – Domain of the object property.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlObjPropExp *cowl_obj_prop_domain_axiom_get_prop(CowlObjPropDomainAxiom *axiom)

Gets the object property.

Parameters:
  • axiom – The axiom.

Returns:

The object property.

CowlClsExp *cowl_obj_prop_domain_axiom_get_domain(CowlObjPropDomainAxiom *axiom)

Gets the domain of the object property.

Parameters:
  • axiom – The axiom.

Returns:

Domain of the object property.

Object property range

struct CowlObjPropRangeAxiom

Represents an ObjectPropertyRange axiom in the OWL 2 specification.

Pseudo-extends: CowlAxiom

CowlObjPropRangeAxiom *cowl_obj_prop_range_axiom(CowlAnyObjPropExp *prop, CowlAnyClsExp *range, CowlVector *annot)

Returns an object property range axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • prop – The object property.

  • range – Range of the object property.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

CowlObjPropExp *cowl_obj_prop_range_axiom_get_prop(CowlObjPropRangeAxiom *axiom)

Gets the object property.

Parameters:
  • axiom – The axiom.

Returns:

The object property.

CowlClsExp *cowl_obj_prop_range_axiom_get_range(CowlObjPropRangeAxiom *axiom)

Gets the range of the object property.

Parameters:
  • axiom – The axiom.

Returns:

Range of the object property.

Object property characteristics

struct CowlObjPropCharAxiom

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

Pseudo-extends: CowlAxiom

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.

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

Returns an object property characteristic axiom.

Note

You must release the returned object via cowl_release().

Parameters:
  • type – The type.

  • prop – The object property expression.

  • annotoptional The annotations.

Returns:

Axiom, or NULL on error.

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.

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.