Skip to content

Class: Edge

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

URI: kgcl:Edge

classDiagram class Edge OntologyElement <|-- Edge Edge : annotation_set Edge --> Annotation : annotation_set Edge : object Edge --> Node : object Edge : object_representation Edge : predicate Edge --> Node : predicate Edge : predicate_representation Edge : subject Edge --> Node : subject Edge : subject_representation

Inheritance

Slots

Name Cardinality and Range Description Inheritance
subject 0..1
Node
direct
predicate 0..1
Node
direct
object 0..1
Node
direct
subject_representation 0..1
String
direct
predicate_representation 0..1
String
direct
object_representation 0..1
String
direct
annotation_set 0..1
Annotation
direct

Usages

used by used in type used
EdgeChange about_edge range Edge
EdgeCreation about_edge range Edge
PlaceUnder about_edge range Edge
EdgeDeletion about_edge range Edge
RemoveUnder about_edge range Edge
EdgeObsoletion about_edge range Edge
EdgeRewiring about_edge range Edge
MappingCreation about_edge range Edge
NodeMove about_edge range Edge
NodeDeepening about_edge range Edge
NodeShallowing about_edge range Edge
PredicateChange about_edge range Edge
EdgeLogicalInterpretationChange about_edge range Edge

Aliases

  • triple
  • axiom
  • relationship

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/kgcl

Mappings

Mapping Type Mapped Value
self kgcl:Edge
native kgcl:Edge
undefined owl:Axiom, rdf:Statement

LinkML Source

Direct

name: Edge
description: "A relationship between two nodes.\nCurrently the only kinds of edges\
  \ supported in KGCL:\n\n  * A subClassOf B <==> Edge(subject=A, predicate=owl:subClassOf,\
  \ object=B)\n  * A subClassOf P some B <==> Edge(subject=A, predicate=P, object=B)\n\
  \  * P subPropertyOf Q <==> Edge(subject=P, predicate=owl:subPropertyOf, object=Q)\n\
  \nThese represent the most common kind of pairwise relationship between classes,\
  \ and classes are the dominant node type in ontologies.\nIn 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).\n\
  For example:\n * `A subClassOf R only B <==> Edge(subject=A, predicate=P, object=B,\
  \ interpretation=AllOnly)`\n * `A Annotation(P,B) <==> Edge(subject=A, predicate=P,\
  \ object=B, interpretation=annotationAssertion)`\n\nNote 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"
from_schema: https://w3id.org/kgcl
aliases:
- triple
- axiom
- relationship
mappings:
- owl:Axiom
- rdf:Statement
is_a: OntologyElement
slots:
- subject
- predicate
- object
- subject_representation
- predicate_representation
- object_representation
- annotation_set

Induced

name: Edge
description: "A relationship between two nodes.\nCurrently the only kinds of edges\
  \ supported in KGCL:\n\n  * A subClassOf B <==> Edge(subject=A, predicate=owl:subClassOf,\
  \ object=B)\n  * A subClassOf P some B <==> Edge(subject=A, predicate=P, object=B)\n\
  \  * P subPropertyOf Q <==> Edge(subject=P, predicate=owl:subPropertyOf, object=Q)\n\
  \nThese represent the most common kind of pairwise relationship between classes,\
  \ and classes are the dominant node type in ontologies.\nIn 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).\n\
  For example:\n * `A subClassOf R only B <==> Edge(subject=A, predicate=P, object=B,\
  \ interpretation=AllOnly)`\n * `A Annotation(P,B) <==> Edge(subject=A, predicate=P,\
  \ object=B, interpretation=annotationAssertion)`\n\nNote 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"
from_schema: https://w3id.org/kgcl
aliases:
- triple
- axiom
- relationship
mappings:
- owl:Axiom
- rdf:Statement
is_a: OntologyElement
attributes:
  subject:
    name: subject
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: subject
    owner: Edge
    domain_of:
    - EdgeCreation
    - EdgeDeletion
    - EdgeObsoletion
    - MappingCreation
    - Edge
    range: Node
  predicate:
    name: predicate
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: predicate
    owner: Edge
    domain_of:
    - EdgeCreation
    - EdgeDeletion
    - EdgeObsoletion
    - MappingCreation
    - NewSynonym
    - NewMapping
    - RemoveMapping
    - NewMetadataAssertion
    - RemoveMetadataAssertion
    - Edge
    range: Node
  object:
    name: object
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: object
    owner: Edge
    domain_of:
    - EdgeCreation
    - EdgeDeletion
    - EdgeObsoletion
    - MappingCreation
    - NewMapping
    - RemoveMapping
    - NewMetadataAssertion
    - RemoveMetadataAssertion
    - Edge
    range: Node
  subject_representation:
    name: subject_representation
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: subject_representation
    owner: Edge
    domain_of:
    - Edge
    range: string
  predicate_representation:
    name: predicate_representation
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: predicate_representation
    owner: Edge
    domain_of:
    - Edge
    range: string
  object_representation:
    name: object_representation
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: object_representation
    owner: Edge
    domain_of:
    - Edge
    range: string
  annotation_set:
    name: annotation_set
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: annotation_set
    owner: Edge
    domain_of:
    - EdgeCreation
    - EdgeDeletion
    - EdgeObsoletion
    - MappingCreation
    - NodeCreation
    - Annotation
    - Node
    - Edge
    range: Annotation