OWL.pl -- The Web Ontology Language (OWL) model.

author
- Daniel Beßler
 is_owl_term(+Term) is semidet
 is_restriction_term(+Term) is semidet
 is_class(+Entity) is semidet
True for OWL classes.
Arguments:
Entity- An entity IRI.
 is_restriction(+Entity) is semidet
True for OWL restrcitions.
Arguments:
Entity- An entity IRI.
 is_individual(+Entity) is semidet
True for OWL individuals.
Arguments:
Entity- An entity IRI.
 is_object_property(+Entity) is semidet
True for OWL object properties.
Arguments:
Entity- An entity IRI.
 is_functional_property(+Entity) is semidet
True for functional properties.
Arguments:
Entity- An entity IRI.
 is_transitive_property(+Entity) is semidet
True for transitive properties.
Arguments:
Entity- An entity IRI.
 is_symmetric_property(+Entity) is semidet
True for symmetric properties.
Arguments:
Entity- An entity IRI.
 is_data_property(+Entity) is semidet
True iff Entity is an datatype property IRI.
Arguments:
Entity- An entity IRI.
 is_restriction(?Restr, ?Descr) is nondet
Convert an OWL restriction class into a Prolog representation.
Arguments:
Restr- OWL restriction class
Descr- Prolog term representing the class
 is_union_of(?UnionClass, ?Descr) is nondet
Convert an OWL union class into a Prolog representation.
Arguments:
UnionClass- OWL union class
Descr- Prolog term representing the class
 is_intersection_of(?IntersectionClass, ?Descr) is nondet
Convert an OWL intersection class into a Prolog representation.
Arguments:
IntersectionClass- OWL intersection class
Descr- Prolog term representing the class
 is_complement_of(?ComplementClass, ?Descr) is nondet
Convert an OWL complement class into a Prolog representation.
Arguments:
ComplementClass- an OWL restriction class
Descr- Prolog term representing the class
 has_description(+Class, -Descr) is semidet
Convert an OWL class into a Prolog representation. This representation is:

For example, the union-of can be the result of

<rdfs:Class rdf:ID="myclass">
  <owl:unionOf parseType=Collection>
    <rdf:Description rdf:about="gnu"/>
    <rdf:Description rdf:about="gnat"/>
  </owl:unionOf>
</rdfs:Class>
Arguments:
Class- an OWL class
Descr- Prolog term representing the class
 is_all_disjoint_classes(?AllDisjointClasses) is nondet
True for OWL2 AllDisjointClasses
Arguments:
Entity- An entity IRI.
 has_inverse_property(?Property, ?Inverse) is nondet
The inverse-of relation between two properties.
Arguments:
Property- property resource
Inverse- inverse of the property
 has_property_chain(?Property, -Chain) is nondet
Reads chain axioms of a property resource.
Arguments:
Property- property resource
Chain- list of property resources
 has_equivalent_class(?Class1, ?Class2) is nondet
Maps an OWL class to classes it is equivalent to. This is in particular important for classification as suffcicient conditions can be defined using equivalent class statements.
Arguments:
Class1- OWL class
Class2- an equivalent OWL class
 same_as(?X, ?Y) is nondet
True if X and Y are identical or connected by the owl:sameAs relation. Considers owl:sameAs transitive and symmetric.
 disjoint_with_direct(?Cls, ?Disjoint) is semidet
True if there is a disjointness axioms for Cls and Disjoint, not taking into account the super classes of both.
 disjoint_with(?Class1, ?Class2) is nondet
Tests if Class1 and Class2 are disjoint, taking both individual disjointWith properties and the OWL2 AllDisjointClasses into account.
Arguments:
Class1- OWL class
Class2- a disjoint OWL class

disjoint_with(A,B) :- ground([A,B]), A=B, !, fail.

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 instance_of_description(Arg1, Arg2)