The Data Source Description Vocabulary
type: Ontology
version IRI: https://w3id.org/dsd/4.0.0
contributor: Johannes Schrott
created: 2015-09-17
creator: Lisa Ehrlinger
description: The Data Source Description Vocabulary (DSD) allows the representation of data sources and their internal structure independently of their type. The figure below provides an overview on OWL classes and object properties present in the vocabulary. For simplicity, inverse object properties and some subclasses are not shown. Additionally, a distinction between "essential" OWL classes, that are required for the description of data sources, and "optional" classes, which provide additional non-necessary features, is being made.
license: LGPL-2.1 license
license: LICENSE
modified: 2023-03-06
publisher: Institute for Application-oriented Knowledge Processeing, Johannes Kepler University Linz, Austria
preferred namespace prefix: dsd
preferred namespace uri: https://w3id.org/dsd#
citation: Cite this vocabulary as: Ehrlinger, L. The Data Source Description vocabulary 4.0.0.
issued: 2023-03-06
version info: 4.0.0

consists of Attributes
type: ObjectProperty
domain: Class
  union of: Foreign key
  union of: Primary key
range: Attribute
comment: A Primary or Foreign Key consists of one or several Attributes.

has Aggregation
type: ObjectProperty
sub property of: has Association Member
type: FunctionalProperty
domain: Aggregation association
range: Concept
comment: Describes the connection between an AggregationAssociation and its Aggregation.

has Aggregation Component
type: ObjectProperty
sub property of: has Association Member
domain: Aggregation association
range: Concept
comment: Describes the connection between an AggregationAssociation and one of its components.

has Association Member
type: ObjectProperty
sub property of: topObjectProperty
domain: Association
range: Concept
comment: Describes the edges from an Association to its Members (Parent, Child, Aggregation, Component).

has Attribute
type: ObjectProperty
inverse of: is Attribute of
domain: Class
  union of: Association
  union of: Concept
range: Attribute
comment: Describes the number of Attributes a Concept or Association comprises.

has Child
type: ObjectProperty
sub property of: has Association Member
domain: Inheritance association
range: Concept
comment: Describes the connection between an InheritanceAssociation and one of its childs.

has Component
type: ObjectProperty
inverse of: is Component of
domain: Class
  union of: Data source
  union of: Schema
range: Class
  union of: Association
  union of: Attribute
  union of: Concept
  union of: Foreign key
  union of: Primary key
comment: Describes the number of components a Datasource comprises.

has Foreign Key
type: ObjectProperty
domain: Class
  union of: Association
  union of: Concept
range: Foreign key

has Parent
type: ObjectProperty
sub property of: has Association Member
domain: Inheritance association
range: Concept
comment: Describes the connection between an InheritanceAssociation and a parent Concept.

has Primary Key
type: ObjectProperty
type: FunctionalProperty
domain: Class
  union of: Association
  union of: Concept
range: Primary key

has Schema
type: ObjectProperty
inverse of: is Schema of
type: InverseFunctionalProperty
domain: Data source
range: Schema

is Attribute of
type: ObjectProperty
domain: Attribute
range: Class
  union of: Association
  union of: Concept
comment: Describes an Attributes's connection to its Concept or Association.

is Component of
type: ObjectProperty
domain: Class
  union of: Association
  union of: Attribute
  union of: Concept
  union of: Foreign key
  union of: Primary key
range: Class
  union of: Data source
  union of: Schema
comment: Describes a components connection to its Datasource.

is of Data Type
type: ObjectProperty
type: FunctionalProperty
type: AsymmetricProperty
domain: Attribute
comment: Describes an Attribute with an XLS Datatype.

is of Data Source Type
type: ObjectProperty
type: FunctionalProperty
type: AsymmetricProperty
domain: Data source
range: Data source type
comment: Describes the type of a Data Source. This vocabulary provides some Individuals that can be used.

is Schema of
type: ObjectProperty
type: FunctionalProperty
domain: Schema
range: Data source

references from
type: ObjectProperty
sub property of: topObjectProperty
type: AsymmetricProperty
domain: Reference association
range: Concept

referencesTo
type: ObjectProperty
sub property of: topObjectProperty
domain: Class
  union of: Concept
  union of: Primary key
  union of: Reference association
range: Class
  union of: Concept
  union of: Foreign key
  union of: Reference association
comment: A ForeignKey or Concept references to another Concept or a PrimaryKey.

Average length of instance
type: DatatypeProperty
sub property of: has Concept Descriptor
comment: Gives a value of the average (character) length of instances of this concept. E.g., row entries in a MySQL DB.

Constraint on Delete
type: DatatypeProperty
sub property of: has Foreign Key Descriptor
range: string
comment: Describes the constraint that is defined on a foreign key, which action should be carried out if the referenced primary key is deleted.

Constraint on Update
type: DatatypeProperty
sub property of: has Foreign Key Descriptor
range: string
comment: Describes which constraint is defined on a foreign key if the referenced primary key content is updated.

Default Value
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: string
comment: Provides an default value for an attribute.

has Association Descriptor
type: DatatypeProperty
domain: Association
comment: Provides annotations for an association.

has Attribute Descriptor
type: DatatypeProperty
domain: Attribute
comment: Provides annotations for an attribute.

has Concept Descriptor
type: DatatypeProperty
domain: Concept
comment: Provides annotations for a concept.

has Foreign Key Descriptor
type: DatatypeProperty
domain: Foreign key
comment: Foreign key descriptor: A textual description of what should happen if the reference of this foreign key is modified (updated/deleted).

automatically increments
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: boolean
comment: If the attribute automatically increments on a new insertion of a new value.

is Complete
type: DatatypeProperty
sub property of: has Association Descriptor
type: FunctionalProperty
domain: Class
  union of: Aggregation association
  union of: Inheritance association
range: boolean
comment: Defines whether an inheritance association is complete. If property is set to FALSE, the association is incomplete.

is Disjoint
type: DatatypeProperty
sub property of: has Association Descriptor
type: FunctionalProperty
domain: Aggregation association
domain: Inheritance association
range: boolean
comment: Describes whether the children of an inheritance association are disjoint. If property is set to FALSE, the children are overlapping.

is Nullable
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: boolean
comment: If the attribute can contain NULL values.

is Unique
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: boolean
comment: Describes if an attribute is unique or not.

Maximum Character Length
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: integer
comment: Maximum character length of this attribute, given in the number of bits.

Number of Instances
type: DatatypeProperty
sub property of: has Concept Descriptor
type: FunctionalProperty
range: nonNegativeInteger
comment: Number of instances of a concept/association.

Ordinal Position
type: DatatypeProperty
sub property of: has Attribute Descriptor
type: FunctionalProperty
range: positiveInteger
comment: The ordinal position of the attribute to the concept, this information might not always be available (depending on the data source).

Aggregation association
type: Class
subclass of: Association
comment: Describes the relationship between an aggregation that is composed out of several components.

Association
type: Class
comment: An Association describes a relationship between two instances of the class Concept. There are three disjoint subclasses of Association for Aggregation, Inheritance, and Reference.

Attribute
type: Class
comment: An Attribute describes a property of a Concept. DSD also provides OWL data properties for the description of certain attribute characteristics, such as, nullable or unique. Example: If a Concept represents a relational table, its attributes correspond to the columns.

Concept
type: Class
has key: has Primary Key
comment: A representation of a strutural part of a Data Source. Example: Corresponds to a table or a view from a relational database; a class in object-oriented structures.

Data source
type: Class
disjoint with: Data source type
disjoint union of: Aggregation association
disjoint union of: Attribute
disjoint union of: Concept
disjoint union of: Foreign key
disjoint union of: Inheritance association
disjoint union of: Primary key
disjoint union of: Reference association
disjoint union of: Schema
comment: A generic class for representing data sources. Example: An instance of this class can represent a data source, e.g., a relational information system, a comma separated list, semi-structured text files or a graph. Optionally, an object property referencing an instance of Data Source Type may be present.

Data source type
type: Class
comment: This class provides instances of the most common data source types. These instances may be referenced from an instance of the class Data Source.

Foreign key
type: Class
comment: References to a Primary key and consists of one or more Attributes.

Inheritance association
type: Class
subclass of: Association
comment: Describes the relationship between several child Concepts and their parent.

Primary key
type: Class
comment: Identifies a Concept and consists of one or more Attributes.

Reference association
type: Class
subclass of: Association
comment: Describes a regular relationship between two or more Concepts.

Schema
type: Class
comment: Instances of the class Schema provide an optional hierarchy level between an instance of Data Source and instances of Concept. Schemas allow the grouping of Concepts and are very common in enterprise databases.