Skip to content

Commit

Permalink
Merge pull request #22 from cmungall/issue-21-redux
Browse files Browse the repository at this point in the history
Docs for edges, see #21
  • Loading branch information
hrshdhgd authored Mar 1, 2022
2 parents 0e5cef3 + e39e368 commit c7193f1
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion src/schema/ontology_model.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,29 @@ classes:
- relationship
is_a: ontology element
description: >-
A relationship between two nodes. We assume owlstar or similar for existential restrictions
A relationship between two nodes.
Currently the only kinds of edges supported in KGCL:
* A subClassOf B <==> Edge(subject=A, predicate=owl:subClassOf, object=B)
* A subClassOf P some B <==> Edge(subject=A, predicate=P, object=B)
* P subPropertyOf Q <==> Edge(subject=P, predicate=owl:subPropertyOf, object=Q)
These represent the most common kind of pairwise relationship between classes,
and classes are the dominant node type in ontologies.
In future a wider variety of OWL axiom types will be supportedn through the use
of an additional edge property/slot to indicate the interpretation of the axiom,
following owlstar (https://github.com/cmungall/owlstar).
For example:
* `A subClassOf R only B <==> Edge(subject=A, predicate=P, object=B, interpretation=AllOnly)`
* `A Annotation(P,B) <==> Edge(subject=A, predicate=P, object=B, interpretation=annotationAssertion)`
Note that not all axioms are intended to map to edges. Axioms/triples where the object is a literal
would be represented as node properties. Complex OWL axioms involving nesting would have their own
dedicated construct, or may be represented generically. These are out of scope for the current
version of KGCL
mappings:
- owl:Axiom
- rdf:Statement
Expand Down

0 comments on commit c7193f1

Please sign in to comment.