Ontological Modeling Language 0.6

Living Document,

This version:
https://github.com/opencaesar/oml
Issue Tracking:
GitHub
Editors:
Maged Elaasar (JPL)
Nicolas Rouquette (JPL)

Abstract

This document specifies the Ontological Modeling Language (OML).

1. Getting Started

2. Textual Syntax

2.1. Common

2.1.1. Whitespace

The OML textual language is free-form, meaning that whitespace characters can be freely placed to delimit tokens, but have no other significance.

2.1.2. Ontology

An ontology is declared with of the ontology keywords, an IRI, a separator character (# or /), and a PREFIX. The IRI represents a globally unique namespace that identifies the ontology. The separator character is used to separate the ontology’s IRI from the ontology member’s ID in the member’s IRI (e.g., IRI#ID). The PREFIX is a default short name for the ontology that can substitute for its IRI when used in an ontology member’s abbreviated IRI notation (e.g., PREFIX:ID). An ontology can have statements added to its body between { and }. The statements can be Import statements or Member statements (placed after all Import statements).

(Annotation)*
ontology_keyword IRI with (# | /) as PREFIX {
  (Import)*
  (Member)*
}

2.1.3. Import

An ontology may import other ontologies using one of the import statements allowed for the ontology kind. An import statement is placed within the body of the ontology before any member statement. The syntax of an import statement starts with an import keyword that is supported by the ontology kind, followed by the imported ontology’s IRI. However, notice that a temporary limitation exists in OML that requires an ontology to be imported using a relative physical IRI) (e.g., ../path/to/ontology.oml). The import statement can optionally specify a different prefix for the imported ontology, using the syntax as PREFIX, that overrides the default prefix specified by the ontology. The new PREFIX masks the one specified by the imported ontology within the importing ontology.

(Annotation)*
import_keyword IRI (as PREFIX)?

2.1.4. Member

An ontology may declare members by adding them with member statements after all import statements. A new member is declared by one of the member keywords supported by the ontology kind, followed by the member’s ID. Other details supported by the member’s syntax may also be added.

(Annotation)*
member_keyword ID ... ([
  ...
])?

2.1.5. Reference

In addition to declaring a new Member , an ontology may also add statements about already declared members (within the ontology or by one of its imported ontologies). Those statements where the onology member is the subject are called Reference statements. Such statement has a syntx that (more or less) resembles that of a member declaration, except that it is preceeded with the keyword ref, and a MEMBER_IRI is used instead of the ```ID``. Notice that it is more common to add such statement when the subject member is imported rather than local to the ontology, since in the latter case, it can be part of the member’s declaration.

(Annotation)*
ref member_keyword MEMBER_IRI ... ([
  ...
])?

2.1.6. IRI

An IRI is a globally unique identifier for an element (ontology or member). When an ontology is declared, its IRI typically has the syntax of a URL (e.g., http://ontology) but this is not a requirement. When members are declared within an ontology, their IRI is derived from that of their defining ontology as follow: Ontology_IRI + separator character (# | /) + MEMBER_ID (e.g., http://ontology#member). The member’s IRI can also be abbreviated by replacing the defining ontology’s IRI by its PREFIX (e.g., prefix:member). Notice that an importing ontology may override an imported ontology’s prefix in the Import statement.

2.1.7. Comment

An ontology may have comments (descriptive text placed by ontology developers) that appear any where in the text using one of two syntaxes below. However, unlike an Annotation, which is part of the abstract syntax of an ontology, a Comment is a purely notational element and hence may not be interchangeable with OML’s other notations.

// single-line-comment

/* possibly
  multi-line 
  comment */

2.1.8. Annotation

@AnnotationProperty_IRI (Literal)?

2.1.9. Literal

(INTEGER | DECIMAL | DOUBLE | BOOLEAN | STRING) (^^([FacetedScalar_IRI] | [EnumeratedScalar_IRI]))?

2.2. Vocabularies

2.2.1. Vocabulary

(Annotation)*
vocabulary IRI with (# | /) as PREFIX {
  (VocabularyExtension | VocabularyUsage)*
  (Aspect | Concept | RelationEntity | RelationReference | Structure | FacetedScalar | EnumeratedScalar | ScalarProperty | StructuredProperty | AnnotationProperty | Rule)*
}

2.2.2. VocabularyExtension

(Annotation)*
extends Vocabulary_IRI (as PREFIX)?

2.2.3. VocabularyUsage

(Annotation)*
uses Description_IRI (as PREFIX)?

2.2.4. Aspect

Declaration

(Annotation)*
aspect ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (KeyAxiom)* 
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

Reference

(Annotation)*
ref aspect Aspect_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (KeyAxiom)*
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

2.2.5. Concept

Declaration

(Annotation)*
concept ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (KeyAxiom)*
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

Reference

(Annotation)*
ref concept Concept_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (KeyAxiom)*
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

2.2.6. RelationEntity

Declaration

(Annotation)*
relation entity ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  from (Aspect_IRI|Concept_IRI|RelationEntity_IRI)
  to (Aspect_IRI|Concept_IRI|RelationEntity_IRI)
  ForwardRelation
  (ReverseRelation)?
  (functional)?
  (inverseFunctional)?
  (symmetric)?
  (asymmetric)?
  (reflexive)?
  (irreflexive)?
  (transitive)?
  (KeyAxiom)*
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

Reference

(Annotation)*
ref relation entity RelationEntity_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (KeyAxiom)*
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
  (RelationRangeRestrictionAxiom | RelationCardinalityRestrictionAxiom | RelationTargetRestrictionAxiom)*
])?

2.2.7. ForwardRelation

Declaration

(Annotation)*
forward ID

2.2.8. ReverseRelation

Declaration

(Annotation)*
reverse ID

2.2.9. RelationReference

Reference

(Annotation)*
ref relation (ReverseRelation_IRI | ForwardRelation_IRI)

2.2.10. Structure

Declaration

(Annotation)*
structure ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
])?

Reference

(Annotation)*
ref structure Structure_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (ScalarPropertyRangeRestrictionAxiom | ScalarPropertyCardinalityRestrictionAxiom | ScalarPropertyValueRestrictionAxiom | StructuredPropertyRangeRestrictionAxiom | StructuredPropertyCardinalityRestrictionAxiom | StructuredPropertyValueRestrictionAxiom)*
])?

2.2.11. AnnotationProperty

Declaration

(Annotation)*
annotation property ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)?

Reference

(Annotation)*
ref annotation property AnnotationProperty_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)?

2.2.12. ScalarProperty

Declaration

(Annotation)*
scalar property ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  domain (Aspect_IRI | Concept_IRI|RelationEntity_IRI | Structure_IRI)
  range (FacetedScalar_IRI | EnumeratedScalar_IRI)
  (functional)?
])?

Reference

(Annotation)*
ref scalar property ScalarProperty_IRI( :> [SpecializationAxiom] (, [SpecializationAxiom])*)?

2.2.13. StructuredProperty

Declaration

(Annotation)*
structured property ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  domain (Aspect_IRI | Concept_IRI | RelationEntity_IRI | Structure_IRI)
  range Structure_IRI
  (functional)?
])?

Reference

(Annotation)*
ref structured property StructuredProperty_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)?

2.2.14. FacetedScalar

Declaration

(Annotation)*
scalar ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  (length INTEGER)?
  (minLength INTEGER)?
  (maxLength INTEGER)?
  (pattern STRING)?
  (language LANGUAGE)?
  (minInclusive Literal)?
  (minExclusive Literal)?
  (maxInclusive Literal)?
  (maxExclusive Literal)?
])?

Reference

(Annotation)*
ref scalar FacetedScalar_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)?

2.2.15. EnumeratedScalar

Declaration

(Annotation)*
enumerated scalar ID (:> [SpecializationAxiom] (, [SpecializationAxiom])*)? ([
  Literal (, Literal)*
])?

Reference

(Annotation)*
ref enumerated scalar EnumeratedScalar_IRI (:> [SpecializationAxiom] (, [SpecializationAxiom])*)?

2.2.16. Rule

Declaration

(Annotation)*
rule ID [
  (EntityPredicate | RelationPredicate | RelationEntityPredicate | SameAsPredicate | DifferentFromPredicate)
  (^ (EntityPredicate | RelationPredicate | RelationEntityPredicate | SameAsPredicate | DifferentFromPredicate))* 
  -> 
  (EntityPredicate | RelationPredicate | RelationEntityPredicate | SameAsPredicate | DifferentFromPredicate)
  (^ (EntityPredicate | RelationPredicate | RelationEntityPredicate | SameAsPredicate | DifferentFromPredicate))* 
]

Reference

(Annotation)*
ref rule Rule_IRI

2.2.17. EntityPredicate

(Annotation)*
(Aspect_IRI | Concept_IRI | RelationEntity_IRI) (VAR)

2.2.18. RelationPredicate

(Annotation)*
(ForwardRelation_IRI | ReverseRelation_IRI) (VAR1 , VAR2)

2.2.19. RelationEntityPredicate

(Annotation)*
RelationEntity_IRI (VAR1 , ENTITY_VAR , VAR2)

2.2.20. SameAsPredicate

(Annotation)*
sameAs (VAR1 , VAR2)

2.2.21. DifferentFromPredicate

(Annotation)*
differentFrom (VAR1 , VAR2)

2.2.22. SpecializationAxiom

(Annotation)*
(Aspect_IRI | Concept_IRI | RelationEntity_IRI | Structure_IRI | FacetedScalar_IRI | EnumeratedScalar_IRI | AnnotationProperty_IRI | ScalarProperty_IRI | StructuredProperty_IRI)

2.2.23. ScalarPropertyRangeRestrictionAxiom

(Annotation)*
restricts (all | some) scalar property ScalarProperty_IRI to (FacetedScalar_IRI | EnumeratedScalar_IRI)

2.2.24. ScalarPropertyCardinalityRestrictionAxiom

(Annotation)*
restricts scalar property ScalarProperty_IRI to (exactly | min | max) INTEGER (FacetedScalar_IRI | EnumeratedScalar_IRI)?

2.2.25. ScalarPropertyValueRestrictionAxiom

(Annotation)*
restricts scalar property ScalarProperty_IRI to Literal

2.2.26. StructuredPropertyRangeRestrictionAxiom

(Annotation)*
restricts (all | some) structured property StructuredProperty_IRI to Structure

2.2.27. StructuredPropertyCardinalityRestrictionAxiom

(Annotation)*
restricts structured property StructuredProperty_IRI to (exactly | min | max) INTEGER (Structure_IRI)?

2.2.28. StructuredPropertyValueRestrictionAxiom

(Annotation)*
restricts structured property StructuredProperty_IRI to StructureInstance

2.2.29. RelationRangeRestrictionAxiom

(Annotation)*
restricts (all | some) relation (ForwardRelation_IRI | ReverseRelation_IRI) to (Aspect_IRI | Concept_IRI | RelationEntity_IRI)

2.2.30. RelationCardinalityRestrictionAxiom

(Annotation)*
restricts relation (ForwardRelation_IRI | ReverseRelation_IRI) to (exactly | min | max) INTEGER (Aspect_IRI | Concept_IRI | RelationEntity_IRI)?

2.2.31. RelationTargetRestrictionAxiom

(Annotation)*
restricts relation (ForwardRelation_IRI | ReverseRelation_IRI) to (ConceptInstance_IRI | RelationInstance_IRI)

2.2.32. KeyAxiom

key ScalarProperty_IRI (, ScalarProperty_IRI)*

2.3. Bundles

2.3.1. Bundle

(Annotation)*
bundle IRI with (# | /) as PREFIX {
  (BundleExtension | BundleInclusion)*
}

2.3.2. BundleInclusion

(Annotation)*
includes Vocabulary_IRI (as PREFIX)?

2.3.3. BundleExtension

(Annotation)*
extends Bundle_IRI (as PREFIX)?

2.4. Descriptions

2.4.1. Description

(Annotation)*
description IRI with (# | /) as PREFIX {
  (DescriptionExtension | DescriptionUsage)*
  (ConceptInstance | RelationInstance)*
}

2.4.2. DescriptionUsage

(Annotation)*
uses (Vocabulary_IRI | Bundle_IRI) (as PREFIX)?

2.4.3. DescriptionExtension

(Annotation)*
extends Description_IRI (as PREFIX)?

2.4.4. ConceptInstance

Declaration

(Annotation)*
ci ID (: ConceptTypeAssertion (, ConceptTypeAssertion)*)? ([
  (ScalarPropertyValueAssertion | StructuredPropertyValueAssertion )*
  (LinkAssertion)*
])?

Reference

(Annotation)*
ref ci ConceptInstance_IRI (: ownedTypes+=ConceptTypeAssertion (, ownedTypes+=ConceptTypeAssertion)*)? ([
  (ScalarPropertyValueAssertion | StructuredPropertyValueAssertion )*
  (LinkAssertion)*
])?

2.4.5. RelationInstance

Declaration

(Annotation)*
ri ID (: RelationTypeAssertion (, RelationTypeAssertion)*)? ([
  from (ConceptInstance_IRI | RelationInstance_IRI)
  to (ConceptInstance_IRI | RelationInstance_IRI)
  (ScalarPropertyValueAssertion | StructuredPropertyValueAssertion )*
  (LinkAssertion)*
])?

Reference

(Annotation)*
ref ri RelationInstance_IRI (: RelationTypeAssertion (, RelationTypeAssertion)*)? ([
  (ScalarPropertyValueAssertion | StructuredPropertyValueAssertion )*
  (LinkAssertion)*
])?

2.4.6. StructureInstance

(Annotation)*
Structure_IRI [
  (ScalarPropertyValueAssertion | StructuredPropertyValueAssertion )*
]

2.4.7. ConceptTypeAssertion

(Annotation)*
Concept_IRI

2.4.8. RelationTypeAssertion

(Annotation)*
RelationEntity_IRI

2.4.9. ScalarPropertyValueAssertion

(Annotation)*
ScalarProperty_IRI Literal

2.4.10. StructuredPropertyValueAssertion

(Annotation)*
StructuredProperty_IRI StructureInstance

2.4.11. LinkAssertion

(Annotation)*
(ForwardRelation_IRI | ReverseRelation_IRI) (ConceptInstance_IRI | RelationInstance_IRI)

3. Abstract Syntax

This Ecore package specifies the syntax (metamodel) of the Ontological Modeling Language. OML models are instances of this metamodel and can be manipulated using its API.

3.1. Elements

AnnotatedElement Element Annotation property : AnnotationProperty [1] owningElement : AnnotatedElement [0..1] owningReference : Reference [0..1] Literal IdentifiedElement ownedAnnotations * value 0..1

3.1.1. AnnotatedElement

AnnotatedElement is an element that can own a set of Annotations.

Super classes: Element

Sub classes: IdentifiedElement, Instance, Import, Axiom, Assertion, Predicate

Properties:

3.1.2. Annotation

Annotation is an element that allows specifying on an annotated element additional details that do not have associated DL semantics. An annotation specifies the value of an annotation property on an annotated element. It can be specified either directly on an annotated element or indirectly on a reference to one.

Super classes: Element

Properties:

3.1.3. Element

Element is the most type in the OML metamodel. All objects in an OML model are elements.

Sub classes: Annotation, AnnotatedElement, Reference, Statement, Literal

3.1.4. IdentifiedElement

IdentifiedElement is an annotated element that is identified by an IRI.

Super classes: AnnotatedElement

Sub classes: Ontology, Member

3.2. Literals

BooleanLiteral value : EJavaObject Literal type : Scalar [0..1] DecimalLiteral value : Decimal DoubleLiteral value : EJavaObject IntegerLiteral value : EJavaObject Element QuotedLiteral value : EJavaObject langTag : EJavaObject

3.2.1. BooleanLiteral

BooleanLiteral is a literal that represents the boolean values true/false

Super classes: Literal

Properties:

3.2.2. DecimalLiteral

DecimalLiteral is a literal that represents an arbitrary precision decimal value

Super classes: Literal

Properties:

3.2.3. DoubleLiteral

DoubleLiteral is a literal that represents a 64-bit double precision floating point value

Super classes: Literal

Properties:

3.2.4. IntegerLiteral

IntegerLiteral is a literal that represents a 32-bit integer value

Super classes: Literal

Properties:

3.2.5. Literal

Literal is an element that represents a specific scalar value. It can specify a scalar type that this literal belongs to.

Super classes: Element

Sub classes: QuotedLiteral, IntegerLiteral, DecimalLiteral, DoubleLiteral, BooleanLiteral

Properties:

3.2.6. QuotedLiteral

QuotedLiteral is a literal that specifies its lexical value as a quoted string. It can also specify either a type (a scalar), or a langTag (based on http://www.rfc-editor.org/rfc/bcp/bcp47.txt), but not both.

Super classes: Literal

Properties:

3.3. Ontologies

Bundle Terminology BundleImport owningBundle : Bundle [1] BundleExtension Import uri : EJavaObject prefix : EJavaObject BundleInclusion Description Ontology iri : EJavaObject separator : SeparatorKind prefix : EJavaObject DescriptionImport owningDescription : Description [1] DescriptionStatement owningDescription : Description [1] DescriptionExtension Statement DescriptionUsage AnnotatedElement Member name : EJavaObject IdentifiedElement shape_SeparatorKind hash slash Element Vocabulary VocabularyImport owningVocabulary : Vocabulary [1] VocabularyStatement owningVocabulary : Vocabulary [1] VocabularyExtension VocabularyUsage ownedImports * ownedImports * ownedStatements * ownedImports * ownedStatements *

3.3.1. Bundle

Bundle is a terminology that has closed-world semantics. It includes a number of imported vocabularies, which have open-world-semantics, and closes the world on them (i.e., make their taxonomically unrelated entities disjoint). A bundle can also import other bundles to extend them or other vocabularies to include them.

Super classes: Terminology

Properties:

3.3.2. BundleExtension

BundleExtension is a bundle import that allows a bundle to extend another.

Super classes: BundleImport

3.3.3. BundleImport

BundleImport is an import by a bundle of another ontology.

Super classes: Import

Sub classes: BundleInclusion, BundleExtension

Properties:

3.3.4. BundleInclusion

BundleInclusion is a bundle import that allows a bundle to include a vocabulary.

Super classes: BundleImport

3.3.5. Description

Description is an ontology whose members consists of a set of instances of some type defined in a vocabulary. It can make statements that characterize its instances and assert their property values and interrelations. A description can also import other descriptions to extend them or other terminologies to use their terms.

Super classes: Ontology

Properties:

3.3.6. DescriptionExtension

DescriptionImport is a description import that allows a description to extend another.

Super classes: DescriptionImport

3.3.7. DescriptionImport

DescriptionImport is an import by a description of another ontology.

Super classes: Import

Sub classes: DescriptionUsage, DescriptionExtension

Properties:

3.3.8. DescriptionStatement

DescriptionStatement is a statement made in a description

Super classes: Statement

Sub classes: NamedInstance, DescriptionMemberReference

Properties:

3.3.9. DescriptionUsage

DescriptionUsage is a description import that allows a description to use a terminology.

Super classes: DescriptionImport

3.3.10. Import

Import is an element that can be specified by an ontology to indicate that it imports another ontology. The imported ontology is specified by its URI The import may optionally specify a different namespace prefix for the imported ontology in the importing ontology’s context.

Super classes: AnnotatedElement

Sub classes: VocabularyImport, BundleImport, DescriptionImport

Properties:

3.3.11. Member

Member is an identified element defined by an ontology. Its IRI is unique and derived by concatenating the globally unique namespace of its ontology with its locally unique name (i.e., member.iri=ontology.namespace+member.name).

Super classes: IdentifiedElement

Sub classes: Term, Rule, NamedInstance

Properties:

3.3.12. Ontology

Ontology is an identified element that represents a namespace for its members. The namespace is defined by a globally unique IRI followed by a separator character and can be abbreviated with a prefix. An ontology can import other ontologies, and can make statements about its own as well as imported members.

Super classes: IdentifiedElement

Sub classes: Terminology, Description

Properties:

3.3.13. SeparatorKind

SeparatorKind is an anumeration that specifies the separator character of an ontology’s namespace. It can either be only of two values: a hash '#' or a slash '/'.

Literals:

3.3.14. Statement

Statement represents an expression of information in an ontology.

Super classes: Element

Sub classes: VocabularyStatement, DescriptionStatement

3.3.15. Terminology

Terminology is an ontology whose members are a set of ontological terms. It is the super type of two concrete kinds of terminology: Vocabulary and Bundle.

Super classes: Ontology

Sub classes: Vocabulary, Bundle

3.3.16. Vocabulary

Vocabulary is a terminology that has open-world semantics. It can make a number of statements, defining its own terms and constraining them. A vocabulary can also import other vocabularies to extend them.

Super classes: Terminology

Properties:

3.3.17. VocabularyExtension

VocabularyExtension is a vocabulary import that allows a vocabulary to extend another.

Super classes: VocabularyImport

3.3.18. VocabularyImport

VocabularyImport is an import by a vocabulary of another ontology.

Super classes: Import

Sub classes: VocabularyExtension, VocabularyUsage

Properties:

3.3.19. VocabularyStatement

VocabularyStatement is a statement made in a vocabylary.

Super classes: Statement

Sub classes: SpecializableTerm, Rule, VocabularyMemberReference

Properties:

3.3.20. VocabularyUsage

VocabularyUsage is a vocabulary import that allows a vocabulary to use a description.

Super classes: VocabularyImport

3.4. Terms

AnnotationProperty Property FeatureProperty functional : EJavaObject domain : Classifier [1] ForwardRelation entity : RelationEntity [0..1] Relation domain : Entity [1] range : Entity [1] inverse : Relation [0..1] SpecializableTerm Term ReverseRelation entity : RelationEntity [0..1] ScalarProperty range : Scalar [1] VocabularyStatement SpecializationAxiom StructuredProperty range : Structure [1] Member ownedSpecializations *

3.4.1. AnnotationProperty

AnnotationProperty is a property with no DL semantics that relates an annotated element to a literal value.

Super classes: Property

3.4.2. FeatureProperty

FeatureProperty is a property with DL semantics that relates instances of a classifier acting as its domain to a value typed by either a scalar or a structure representing its range.

Super classes: Property

Sub classes: ScalarProperty, StructuredProperty

Properties:

3.4.3. ForwardRelation

ForwardRelation is a relation that is defined along side a relation entity, whose domain is the source of the relation entity, and whose range is the target of the relation entity. A forward relation has DL semantics that are specified by the boolean flags of its relation entity.

Super classes: Relation

Properties:

3.4.4. Property

Property is a specializable term that relates an element to a value. It is the super type of all property types.

Super classes: SpecializableTerm

Sub classes: AnnotationProperty, FeatureProperty

3.4.5. Relation

Relation is a term that represents a relation from its domain entity to its range entity. It is the super type of two concrete relations: ForwardRelation and [=ReverseRelation] that are specified by a relation entity. When a relation entity specifies both kinds of relations, they become inverse of each other.

Super classes: Term

Sub classes: ForwardRelation, ReverseRelation

Properties:

3.4.6. ReverseRelation

ReverseRelation is an optional relation that is defined along side a relation entity, whose domain is the target of the relation entity, and whose range is the source of the relation entity. A reverse relation has DL semantics that are the inverse of its entity’s forward relation.

Super classes: Relation

Properties:

3.4.7. ScalarProperty

ScalarProperty is a feature property whose range is a scalar. It can specialize other scalar properties. It can also be flagged as a key property (among possibly several) that specifies the unique id of its domain.

Super classes: FeatureProperty

Properties:

3.4.8. SpecializableTerm

SpecializableTerm is a term that can specialized in a taxonomy. It can have zero or more specializations.

Super classes: Term, VocabularyStatement

Sub classes: Type, Property

Properties:

3.4.9. StructuredProperty

StructuredProperty is a feature property whose range is a structure. It can specialize other structured properties.

Super classes: FeatureProperty

Properties:

3.4.10. Term

Term is a member of a vocabulary that provides a particular semantic meaning when used in a description.

Super classes: Member

Sub classes: SpecializableTerm, Relation

3.5. Types

Aspect Entity Classifier PropertyRestrictionAxiom Type Concept RelationRestrictionAxiom KeyAxiom EnumeratedScalar Literal Scalar FacetedScalar length : UnsignedInteger minLength : UnsignedInteger maxLength : UnsignedInteger pattern : EJavaObject language : EJavaObject RelationEntity functional : EJavaObject inverseFunctional : EJavaObject symmetric : EJavaObject asymmetric : EJavaObject reflexive : EJavaObject irreflexive : EJavaObject transitive : EJavaObject source : Entity [1] target : Entity [1] ForwardRelation ReverseRelation Structure SpecializableTerm ownedPropertyRestrictions * ownedRelationRestrictions * ownedKeys * literals * minInclusive 0..1 minExclusive 0..1 maxInclusive 0..1 maxExclusive 0..1 forward 1 reverse 0..1

3.5.1. Aspect

Aspect is an entity that represents a concern that cuts across multiple entities. It does not directly classify instances, but it does so indirectly by being specialized by other entities. However, an aspect can only specialize other aspects.

Super classes: Entity

3.5.2. Classifier

Classifier is a type that classifies a set of instances and characterizes them with feature properties (i.e., becomes a domain of these properties). It also inherits properties in the domain of its specialized types. In addition, it can specify constraints on (direct or inherited) feature properties in its domain.

Super classes: Type

Sub classes: Entity, Structure

Properties:

3.5.3. Concept

Concept is a concrete entity that can classifies a set of concept instances in a description. It can also specialize other concepts and/or aspects.

Super classes: Entity

3.5.4. Entity

Entity is a characterizable type whose instances can be interrelated by relations (that have the entity or one of its specialized entities as their domain). It can also specify constraints on relations in its domain.

Super classes: Classifier

Sub classes: Aspect, Concept, RelationEntity

Properties:

3.5.5. EnumeratedScalar

EnumeratedScalar is a scalar that represents a finite set of literals. It can specialize another enumerated scalar, but in this case, it cannot specify its own literals; rather, it will simply be considered an alias to the specialized scalar.

Super classes: Scalar

Properties:

3.5.6. FacetedScalar

FacetedScalar is a scalar that represents a (possibly infinite) set of literals and can constrain them with some facets. It can also specialize another faceted scalar. Only a limited set of scalars do not specialize others; those are the standard set defined by the OWL2 standard (https://www.w3.org/TR/owl2-syntax/#Datatype_Maps) and listed below. Other scalars have to specialize directly or transitively from this standard set. The facets that are applicable to specify on a scalar depend on the standard scalar specialized, as specified below. A scalar that specifies no facet is simply considered to be an alias to the specialized scalar.

Numeric scalars (facets: minInclusive, maxInclusive, minExclusive, maxExclusive): owl:real owl:rational xsd:decimal xsd:integer xsd:nonNegativeInteger xsd:nonPositiveInteger xsd:positiveInteger xsd:negativeInteger xsd:long xsd:int xsd:short xsd:byte xsd:unsignedLong xsd:unsignedInt xsd:unsignedShort xsd:unsignedByte xsd:double xsd:float

Time scalars (facets: minInclusive, maxInclusive, minExclusive, maxExclusive): xsd:dateTime xsd:dateTimeStamp

Plain scalars (facets: length, minLength, maxLength, pattern, language): rdf:PlainLiteral, String scalars (facets: length, minLength, maxLength, pattern) xsd:string, xsd:normalizedString, xsd:token, xsd:language, xsd:Name, xsd:NCName, xsd:NMTOKEN xsd:anyURI

Boolean scalars (no facets): xsd:boolean

Binary scalars (facets: length, minLength, maxLength): xsd:hexBinary xsd:base64Binary

XML scalars (no facets): rdf:XMLLiteral

Super classes: Scalar

Properties:

3.5.7. RelationEntity

RelationEntity is a concrete entity that can classify a set of relation instances in a description. It can also specialize other relation entities and/or aspects. A relation entity relates two entities, a source and a target, by either a forward relation (from the source to the target) only, or also with an reverse relation (from the target to the source). For example, a relation entity "Performs" between a source concept "Component" and a target concept "Function" defines a forward relation "performs" and an reverse relation "isPerformedBy". A relation entity can also be characterized with several boolean flags, representing DL semantics, that apply directly to the forward relation, and conversely to the reverse relation.

Super classes: Entity

Properties:

3.5.8. Scalar

Scalar is a primitive type that represents a set of literals. It is the super type of all scalar types.

Super classes: Type

Sub classes: FacetedScalar, EnumeratedScalar

3.5.9. Structure

Structure is a characterizable type that represents a structured datatype whose instances are anonymous and assignable as values to structured properties.

Super classes: Classifier

3.5.10. Type

Type is a specializable term that classifies a set of instances or literals.

Super classes: SpecializableTerm

Sub classes: Classifier, Scalar

3.6. Axioms

Axiom AnnotatedElement shape_CardinalityRestrictionKind exactly min max KeyAxiom properties : ScalarProperty [*] owningEntity : Entity [0..1] owningReference : EntityReference [0..1] PropertyRestrictionAxiom owningClassifier : Classifier [0..1] owningReference : ClassifierReference [0..1] RestrictionAxiom shape_RangeRestrictionKind all some RelationCardinalityRestrictionAxiom cardinality : UnsignedInt kind : CardinalityRestrictionKind range : Entity [0..1] RelationRestrictionAxiom relation : Relation [1] owningEntity : Entity [0..1] owningReference : EntityReference [0..1] RelationRangeRestrictionAxiom kind : RangeRestrictionKind range : Entity [1] RelationTargetRestrictionAxiom target : NamedInstance [1] ScalarPropertyCardinalityRestrictionAxiom cardinality : UnsignedInt kind : CardinalityRestrictionKind range : Scalar [0..1] ScalarPropertyRestrictionAxiom property : ScalarProperty [1] ScalarPropertyRangeRestrictionAxiom kind : RangeRestrictionKind range : Scalar [1] ScalarPropertyValueRestrictionAxiom Literal SpecializationAxiom specializedTerm : SpecializableTerm [1] owningTerm : SpecializableTerm [0..1] owningReference : SpecializableTermReference [0..1] StructuredPropertyCardinalityRestrictionAxiom cardinality : UnsignedInt kind : CardinalityRestrictionKind range : Structure [0..1] StructuredPropertyRestrictionAxiom property : StructuredProperty [1] StructuredPropertyRangeRestrictionAxiom kind : RangeRestrictionKind range : Structure [1] StructuredPropertyValueRestrictionAxiom StructureInstance value 1 value 1

3.6.1. Axiom

Axiom is an annotated element that represents a statement about a term in a vocabulary.

Super classes: AnnotatedElement

Sub classes: SpecializationAxiom, RestrictionAxiom, KeyAxiom

3.6.2. CardinalityRestrictionKind

CardinalityRestrictionKind is an enumeration that specifies the kind of cardinality restriction on a property or relation

Literals:

3.6.3. KeyAxiom

KeyAxiom is an axiom that states that a set of scalar properties form a unique key for an entity. This means that all instances of that entity must have unique values for those keys. Scalar properties do not need to be specified as functional to be used as keys.

Super classes: Axiom

Properties:

3.6.4. PropertyRestrictionAxiom

PropertyRestrictionAxiom is an axiom that places some restriction on the value of a property in the context of the restricting classifier domain. It can be specified directly on the classifier or indirectly on a reference to it.

Super classes: RestrictionAxiom

Sub classes: ScalarPropertyRestrictionAxiom, StructuredPropertyRestrictionAxiom

Properties:

3.6.5. RangeRestrictionKind

RangeRestrictionKind is an enumeration that specifies the scope of a range restriction on a property or a relation

Literals:

3.6.6. RelationCardinalityRestrictionAxiom

RelationCardinalityRestrictionAxiom is a relation restriction axiom that restricts the cardinality of a relation’s range to an exact number, a minimum number or a maximum number. This restrictions may either apply generally to all targets of of the relation that have instances of the restricting entity as sources, or to those classified by a specific range subtype.

Super classes: RelationRestrictionAxiom

Properties:

3.6.7. RelationRangeRestrictionAxiom

RelationRangeRestrictionAxiom is a relation restriction axiom that restricts the range of a relation to specific subtype. This restrictions may apply to all or to some instances of the relation that have an instance of the restricting entity as a source.

Super classes: RelationRestrictionAxiom

Properties:

3.6.8. RelationRestrictionAxiom

RelationRestrictionAxiom is an axiom that places some restriction on the target of a relation in the context of the restricting classifier domain. It can be specified directly on the classifier or indirectly on a reference to it.

Super classes: RestrictionAxiom

Sub classes: RelationRangeRestrictionAxiom, RelationCardinalityRestrictionAxiom, RelationTargetRestrictionAxiom

Properties:

3.6.9. RelationTargetRestrictionAxiom

RelationTargetRestrictionAxiom is a relation restriction axiom that restricts the target of the relation to a specific named instance.

Super classes: RelationRestrictionAxiom

Properties:

3.6.10. RestrictionAxiom

RestrictionAxiom is an axiom that states that a term restricts another term.

Super classes: Axiom

Sub classes: PropertyRestrictionAxiom, RelationRestrictionAxiom

3.6.11. ScalarPropertyCardinalityRestrictionAxiom

ScalarPropertyCardinalityRestrictionAxiom is a scalar property restriction axiom that restricts the cardinality of a scalar property to an exact number, a minimum number or a maximum number. This restrictions can apply to all values of the property that have the restricting classifier as a domain, or to those values classified by a specific range subtype.

Super classes: ScalarPropertyRestrictionAxiom

Properties:

3.6.12. ScalarPropertyRangeRestrictionAxiom

ScalarPropertyRangeRestrictionAxiom is a scalar property restriction axiom that restricts the range of a property to a scalar that specializes the original range. This restrictions may apply to all or to some values of the property that have the restricting classifier as a domain.

Super classes: ScalarPropertyRestrictionAxiom

Properties:

3.6.13. ScalarPropertyRestrictionAxiom

ScalarPropertyRestrictionAxiom is a property restriction axiom that is specified on a scalar property.

Super classes: PropertyRestrictionAxiom

Sub classes: ScalarPropertyRangeRestrictionAxiom, ScalarPropertyCardinalityRestrictionAxiom, ScalarPropertyValueRestrictionAxiom

Properties:

3.6.14. ScalarPropertyValueRestrictionAxiom

ScalarPropertyValueRestrictionAxiom is a scalar property restriction axiom that restricts the value of the property that has the restricting classifier as a domain to a specific literal.

Super classes: ScalarPropertyRestrictionAxiom

Properties:

3.6.15. SpecializationAxiom

SpecializationAxiom is an axiom that states that one specializable term specializes another. It can be specified directly on a specializing term or indirectly on a reference to one.

Super classes: Axiom

Properties:

3.6.16. StructuredPropertyCardinalityRestrictionAxiom

StructuredPropertyCardinalityRestrictionAxiom is a structured property restriction axiom that restricts the cardinality of a structured property to an exact number, a minimum number or a maximum number. This restrictions can apply to all values of the property that have the restricting classifier as a domain, or to those values classified by a specific range subtype.

Super classes: StructuredPropertyRestrictionAxiom

Properties:

3.6.17. StructuredPropertyRangeRestrictionAxiom

StructuredPropertyRangeRestrictionAxiom is a structured property restriction axiom that restricts the range of a property to a structure that specializes the original range. This restrictions may apply to all or to some values of the property that have the restricting classifier as a domain.

Super classes: StructuredPropertyRestrictionAxiom

Properties:

3.6.18. StructuredPropertyRestrictionAxiom

StructuredPropertyRestrictionAxiom is a property restriction axiom that is specified on a structured property.

Super classes: PropertyRestrictionAxiom

Sub classes: StructuredPropertyRangeRestrictionAxiom, StructuredPropertyCardinalityRestrictionAxiom, StructuredPropertyValueRestrictionAxiom

Properties:

3.6.19. StructuredPropertyValueRestrictionAxiom

StructuredPropertyValueRestrictionAxiom is a structured property restriction axiom that restricts the value of the property that has the restricting classifier as a domain to a specific structure instance.

Super classes: StructuredPropertyRestrictionAxiom

Properties:

3.7. Rules

BinaryPredicate variable1 : EJavaObject variable2 : EJavaObject Predicate antecedentRule : Rule [0..1] consequentRule : Rule [0..1] DifferentFromPredicate EntityPredicate entity : Entity [1] UnaryPredicate variable : EJavaObject AnnotatedElement RelationEntityPredicate entityVariable : EJavaObject entity : RelationEntity [1] RelationPredicate relation : Relation [1] Rule Member VocabularyStatement SameAsPredicate antecedent * consequent *

3.7.1. BinaryPredicate

BinaryPredicate is a predicate that binds two variables: variable1 and variable2

Super classes: Predicate

Sub classes: RelationEntityPredicate, RelationPredicate, SameAsPredicate, DifferentFromPredicate

Properties:

3.7.2. DifferentFromPredicate

DifferentFromPredicate is a binary that binds its two variables to two different named instances

Super classes: BinaryPredicate

3.7.3. EntityPredicate

EntityPredicate is a unary predicate that binds its variable to a named instance that is typed by a specific entity.

Super classes: UnaryPredicate

Properties:

3.7.4. Predicate

Predicate is an annotated element that represents an ontology statement to match when used in a rule’s antecedent, or to infer when used as a consequent a rule.

Super classes: AnnotatedElement

Sub classes: UnaryPredicate, BinaryPredicate

Properties:

3.7.5. RelationEntityPredicate

RelationEntityPredicate is a binary predicate that binds its variable1 and variable2 to two named instances that are the source and the target, respectively, of a relation instance that is typed by a specific relation entity, and bound to a third variable named entityVariable.

Super classes: BinaryPredicate

Properties:

3.7.6. RelationPredicate

RelationPredicate is a binary predicate that binds its variable1 and variable2 to two named instances that are related as source and target, respectively, by a specific relation.

Super classes: BinaryPredicate

Properties:

3.7.7. Rule

Rule is a member of a vocabulary that adds a new inference rule to the set supported natively by DL. A rule specifies a set of antecedent predicates that forms a conjunction that infers, when it holds, a single consequent (relation) predicate. Each predicate in a rule may specify (one or two) variables. Those with the same name refer to the same variable, and hence must be bound to the same value from the model for the rule to trigger during reasoning.

Super classes: Member, VocabularyStatement

Properties:

3.7.8. SameAsPredicate

SameAsPredicate is a binary predicate that binds its two variables to the same named instance

Super classes: BinaryPredicate

3.7.9. UnaryPredicate

UnaryPredicate is a predicate that binds one variable

Super classes: Predicate

Sub classes: EntityPredicate

Properties:

3.8. Instances

ConceptInstance ConceptTypeAssertion NamedInstance Instance AnnotatedElement PropertyValueAssertion Member DescriptionStatement LinkAssertion RelationInstance source : NamedInstance [1] target : NamedInstance [1] RelationTypeAssertion StructureInstance type : Structure [1] owningAxiom : StructuredPropertyValueRestrictionAxiom [0..1] owningAssertion : StructuredPropertyValueAssertion [0..1] ownedTypes * ownedPropertyValues * ownedLinks * ownedTypes *

3.8.1. ConceptInstance

ConceptInstance is a named instance that represents an instance of a concept. It can be typed by a number of concepts.

Super classes: NamedInstance

Properties:

3.8.2. Instance

Instance is an annotated element that represents an instance of a classifier. It can specify a set of values for the classifier’s (direct or inherited) properties.

Super classes: AnnotatedElement

Sub classes: StructureInstance, NamedInstance

Properties:

3.8.3. NamedInstance

NamedInstance is an instance that is a member of a description. It can specify links to other named instances.

Super classes: DescriptionStatement, Instance, Member

Sub classes: ConceptInstance, RelationInstance

Properties:

3.8.4. RelationInstance

RelationInstance is a named instance that represents an instance of a relation entity that goes from a source named instance to a target named instance. It can be typed by a number of relation entities.

Super classes: NamedInstance

Properties:

3.8.5. StructureInstance

StructureInstance is an instance that is classified (typed) by a structure. It is anonymous and gets assigned as a value for structured properties, either in value restrictions on entities, or in value assertions on instances.

Super classes: Instance

Properties:

3.9. Assertions

Assertion AnnotatedElement ConceptTypeAssertion type : Concept [1] owningInstance : ConceptInstance [0..1] owningReference : ConceptInstanceReference [0..1] TypeAssertion LinkAssertion relation : Relation [1] target : NamedInstance [1] owningInstance : NamedInstance [0..1] owningReference : NamedInstanceReference [0..1] PropertyValueAssertion owningInstance : Instance [0..1] owningReference : NamedInstanceReference [0..1] RelationTypeAssertion type : RelationEntity [1] owningInstance : RelationInstance [0..1] owningReference : RelationInstanceReference [0..1] ScalarPropertyValueAssertion property : ScalarProperty [1] Literal StructuredPropertyValueAssertion property : StructuredProperty [1] StructureInstance value 1 value 1

3.9.1. Assertion

Assertion is an annotated element that represents a statement about an instance in a description.

Super classes: AnnotatedElement

Sub classes: TypeAssertion, PropertyValueAssertion, LinkAssertion

3.9.2. ConceptTypeAssertion

ConceptTypeAssertion is a type assertion specifying a type for a concept instance. It can be specified directly on an concept instance, or indirectly on a reference to one.

Super classes: TypeAssertion

Properties:

3.9.3. LinkAssertion

LinkAssertion is an assertion that specifies a link from the asserting named instance as a source to another named instance as a target. Unlike a relation instance, which is typed by a relation entity, a link references a relation that has the type of the source instance as a conforming domain and the type of the target instance as a conforming range.

Super classes: Assertion

Properties:

3.9.4. PropertyValueAssertion

PropertyValueAssertion is an assertion that specifies a value for a property on an instance.

Super classes: Assertion

Sub classes: ScalarPropertyValueAssertion, StructuredPropertyValueAssertion

Properties:

3.9.5. RelationTypeAssertion

RelationTypeAssertion is a type assertion specifying a relation entity as a type of a relation instance. It can be specified directly on a relation instance, or indirectly on a reference to one.

Super classes: TypeAssertion

Properties:

3.9.6. ScalarPropertyValueAssertion

ScalarPropertyValueAssertion is a property value assertion for a scalar property, where the specified value is a literal.

Super classes: PropertyValueAssertion

Properties:

3.9.7. StructuredPropertyValueAssertion

StructuredPropertyValueAssertion is a property value assertion for a structured property, where the specified value is a structure instance.

Super classes: PropertyValueAssertion

Properties:

3.9.8. TypeAssertion

TypeAssertion is an assertion that specifies a type for an instance

Super classes: Assertion

Sub classes: ConceptTypeAssertion, RelationTypeAssertion

3.10. References

AnnotationPropertyReference property : AnnotationProperty [1] SpecializableTermReference AspectReference aspect : Aspect [1] EntityReference ClassifierReference PropertyRestrictionAxiom ConceptInstanceReference instance : ConceptInstance [1] ConceptTypeAssertion NamedInstanceReference ConceptReference concept : Concept [1] DescriptionMemberReference DescriptionStatement Reference RelationRestrictionAxiom KeyAxiom EnumeratedScalarReference scalar : EnumeratedScalar [1] FacetedScalarReference scalar : FacetedScalar [1] PropertyValueAssertion LinkAssertion Element Annotation RelationEntityReference entity : RelationEntity [1] RelationInstanceReference instance : RelationInstance [1] RelationTypeAssertion RelationReference relation : Relation [1] VocabularyMemberReference RuleReference rule : Rule [1] ScalarPropertyReference property : ScalarProperty [1] SpecializationAxiom StructureReference structure : Structure [1] StructuredPropertyReference property : StructuredProperty [1] VocabularyStatement ownedPropertyRestrictions * ownedTypes * ownedRelationRestrictions * ownedKeys * ownedPropertyValues * ownedLinks * ownedAnnotations * ownedTypes * ownedSpecializations *

3.10.1. AnnotationPropertyReference

AnnotationPropertyReference is a reference to an annotation property in some vocabulary.

Super classes: SpecializableTermReference

Properties:

3.10.2. AspectReference

AspectReference is a reference to an aspect in some vocabulary.

Super classes: EntityReference

Properties:

3.10.3. ClassifierReference

ClassifierReference is a reference to a classifier in some vocabulary, in order to add other property restrictions to it.

Super classes: SpecializableTermReference

Sub classes: EntityReference, StructureReference

Properties:

3.10.4. ConceptInstanceReference

ConceptInstanceReference is a reference to a concept instance in some description, in order to add other types to it

Super classes: NamedInstanceReference

Properties:

3.10.5. ConceptReference

ConceptReference is a reference to a concept in some vocabulary.

Super classes: EntityReference

Properties:

3.10.6. DescriptionMemberReference

DescriptionMemberReference is a reference to a description member specified as a statement.

Super classes: DescriptionStatement, Reference

Sub classes: NamedInstanceReference

3.10.7. EntityReference

EntityReference is a reference to an entity in some vocabulary, in order to add other relation restrictions to it.

Super classes: ClassifierReference

Sub classes: AspectReference, ConceptReference, RelationEntityReference

Properties:

3.10.8. EnumeratedScalarReference

EnumeratedScalarReference is a reference to an enumerated scalar in some vocabulary.

Super classes: SpecializableTermReference

Properties:

3.10.9. FacetedScalarReference

FacetedScalarReference is a reference to a faceted scalar in some vocabulary.

Super classes: SpecializableTermReference

Properties:

3.10.10. NamedInstanceReference

NamedInstanceReference is a reference to an named instance in some description, in order to add other property value and links to it.

Super classes: DescriptionMemberReference

Sub classes: ConceptInstanceReference, RelationInstanceReference

Properties:

3.10.11. Reference

Reference is an element that references a member of an ontology, in order to add other annotations to it.

Super classes: Element

Sub classes: VocabularyMemberReference, DescriptionMemberReference

Properties:

3.10.12. RelationEntityReference

RelationEntityReference is a reference to a relation entity in some vocabulary.

Super classes: EntityReference

Properties:

3.10.13. RelationInstanceReference

RelationInstanceReference is a reference to a relation instance in some description, in order to add other types to it.

Super classes: NamedInstanceReference

Properties:

3.10.14. RelationReference

RelationReference is a reference to an relation in some vocabulary.

Super classes: VocabularyMemberReference

Properties:

3.10.15. RuleReference

RuleReference is a reference to a rule in some vocabulary.

Super classes: VocabularyMemberReference

Properties:

3.10.16. ScalarPropertyReference

ScalarPropertyReference is a reference to an scalar property in some vocabulary.

Super classes: SpecializableTermReference

Properties:

3.10.17. SpecializableTermReference

SpecializableTermReference is a reference to a specializable term in some vocabulary, in order to add other specializations to it.

Super classes: VocabularyMemberReference

Sub classes: ClassifierReference, AnnotationPropertyReference, ScalarPropertyReference, StructuredPropertyReference, FacetedScalarReference, EnumeratedScalarReference

Properties:

3.10.18. StructureReference

StructureReference is a reference to a structure in some vocabulary.

Super classes: ClassifierReference

Properties:

3.10.19. StructuredPropertyReference

StructuredPropertyReference is a reference to an structured property in some vocabulary.

Super classes: SpecializableTermReference

Properties:

3.10.20. VocabularyMemberReference

VocabularyMemberReference is a reference to a vocabulary member that is specified as a statement.

Super classes: Reference, VocabularyStatement

Sub classes: SpecializableTermReference, RelationReference, RuleReference

4. Public API

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

Index

Terms defined by this specification

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119