@prefix dsd: . @prefix owl: . @prefix rdf: . @prefix xml: . @prefix xsd: . @prefix adms: . @prefix foaf: . @prefix rdfs: . @prefix vann: . @prefix void: . @prefix schema: . @prefix dcterms: . @prefix bibo: . @prefix sw: . @base . rdf:type owl:Ontology ; owl:versionIRI ; dcterms:contributor [ rdf:type foaf:Person ; foaf:homepage ; foaf:mbox ; foaf:name "Johannes Schrott" ] ; dcterms:created "2015-09-17" ; dcterms:creator [ rdf:type foaf:Person ; foaf:homepage ; foaf:mbox ; foaf:name "Lisa Ehrlinger" ] ; dcterms: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.
" ; dcterms:license "LGPL-2.1 license", ; dcterms:modified "2023-03-27"^^xsd:date ; dcterms:publisher [ rdf:type foaf:Organization ; foaf:homepage "https://www.jku.at/faw" ; foaf:name "Institute for Application-oriented Knowledge Processeing, Johannes Kepler University Linz, Austria" ] ; dcterms:title "The Data Source Description Vocabulary" ; vann:preferredNamespacePrefix "dsd" ; vann:preferredNamespaceUri "https://w3id.org/dsd#" ; schema:citation "Cite this vocabulary as: Ehrlinger, L. The Data Source Description vocabulary 4.0.0."@en ; dcterms:issued "2023-03-27"^^xsd:date ; owl:versionInfo "4.0.0" ; foaf:depiction ; foaf:logo ; bibo:doi ; sw:status "stable". ################################################################# # Object Properties ################################################################# ### https://w3id.org/dsd#consistsOfAttribute dsd:consistsOfAttribute rdf:type owl:ObjectProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:ForeignKey dsd:PrimaryKey ) ] ; rdfs:range dsd:Attribute ; rdfs:comment "A Primary or Foreign Key consists of one or several Attributes."@en ; rdfs:isDefinedBy dsd:consistsOfAttribute ; rdfs:label "consists of Attributes"@en . ### https://w3id.org/dsd#hasAggregation dsd:hasAggregation rdf:type owl:ObjectProperty ; rdfs:subPropertyOf dsd:hasAssociationMember ; rdf:type owl:FunctionalProperty ; rdfs:domain dsd:AggregationAssociation ; rdfs:range dsd:Concept ; rdfs:comment "Describes the connection between an AggregationAssociation and its Aggregation." ; rdfs:isDefinedBy dsd:hasAggregation ; rdfs:label "has Aggregation"@en . ### https://w3id.org/dsd#hasAggregationComponent dsd:hasAggregationComponent rdf:type owl:ObjectProperty ; rdfs:subPropertyOf dsd:hasAssociationMember ; rdfs:domain dsd:AggregationAssociation ; rdfs:range dsd:Concept ; rdfs:comment "Describes the connection between an AggregationAssociation and one of its components." ; rdfs:isDefinedBy dsd:hasAggregationComponent ; rdfs:label "has Aggregation Component" . ### https://w3id.org/dsd#hasAssociationMember dsd:hasAssociationMember rdf:type owl:ObjectProperty ; rdfs:subPropertyOf owl:topObjectProperty ; rdfs:domain dsd:Association ; rdfs:range dsd:Concept ; rdfs:comment "Describes the edges from an Association to its Members (Parent, Child, Aggregation, Component)."@en ; rdfs:isDefinedBy dsd:hasAssociationMember ; rdfs:label "has Association Member"@en . ### https://w3id.org/dsd#hasAttribute dsd:hasAttribute rdf:type owl:ObjectProperty ; owl:inverseOf dsd:isAttributeOf ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Concept ) ] ; rdfs:range dsd:Attribute ; rdfs:comment "Describes the number of Attributes a Concept or Association comprises."@en ; rdfs:isDefinedBy dsd:hasAttribute ; rdfs:label "has Attribute"@en . ### https://w3id.org/dsd#hasChild dsd:hasChild rdf:type owl:ObjectProperty ; rdfs:subPropertyOf dsd:hasAssociationMember ; rdfs:domain dsd:InheritanceAssociation ; rdfs:range dsd:Concept ; rdfs:comment "Describes the connection between an InheritanceAssociation and one of its childs." ; rdfs:isDefinedBy dsd:hasChild ; rdfs:label "has Child"@en . ### https://w3id.org/dsd#hasComponent dsd:hasComponent rdf:type owl:ObjectProperty ; owl:inverseOf dsd:isComponentOf ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Datasource dsd:Schema ) ] ; rdfs:range [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Attribute dsd:Concept dsd:ForeignKey dsd:PrimaryKey ) ] ; rdfs:comment "Describes the number of components a Datasource comprises." ; rdfs:isDefinedBy dsd:hasComponent ; rdfs:label "has Component"@en . ### https://w3id.org/dsd#hasForeignKey dsd:hasForeignKey rdf:type owl:ObjectProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Concept ) ] ; rdfs:range dsd:ForeignKey ; rdfs:isDefinedBy dsd:hasForeignKey ; rdfs:comment "Connects an Association or an Concept with its foreign key." ; rdfs:label "has Foreign Key"@en . ### https://w3id.org/dsd#hasParent dsd:hasParent rdf:type owl:ObjectProperty ; rdfs:subPropertyOf dsd:hasAssociationMember ; rdfs:domain dsd:InheritanceAssociation ; rdfs:range dsd:Concept ; rdfs:comment "Describes the connection between an InheritanceAssociation and a parent Concept." ; rdfs:isDefinedBy dsd:hasParent ; rdfs:label "has Parent" . ### https://w3id.org/dsd#hasPrimaryKey dsd:hasPrimaryKey rdf:type owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Concept ) ] ; rdfs:range dsd:PrimaryKey ; rdfs:isDefinedBy dsd:hasPrimaryKey ; rdfs:comment "Connects an Association or an Concept with it primary key." ; rdfs:label "has Primary Key"@en . ### https://w3id.org/dsd#hasSchema dsd:hasSchema rdf:type owl:ObjectProperty ; owl:inverseOf dsd:isSchemaOf ; rdf:type owl:InverseFunctionalProperty ; rdfs:domain dsd:Datasource ; rdfs:range dsd:Schema ; rdfs:comment "Describes the schemas a data source may consist of." ; rdfs:label "has Schema"@en . ### https://w3id.org/dsd#isAttributeOf dsd:isAttributeOf rdf:type owl:ObjectProperty ; rdfs:domain dsd:Attribute ; rdfs:range [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Concept ) ] ; rdfs:comment "Describes an Attributes's connection to its Concept or Association."@en ; rdfs:isDefinedBy dsd:isAttributeOf ; rdfs:label "is Attribute of"@en . ### https://w3id.org/dsd#isComponentOf dsd:isComponentOf rdf:type owl:ObjectProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Association dsd:Attribute dsd:Concept dsd:ForeignKey dsd:PrimaryKey ) ] ; rdfs:range [ rdf:type owl:Class ; owl:unionOf ( dsd:Datasource dsd:Schema ) ] ; rdfs:comment "Describes a components connection to its Datasource."@en ; rdfs:isDefinedBy dsd:isComponentOf ; rdfs:label "is Component of"@en . ### https://w3id.org/dsd#isOfDataType dsd:isOfDataType rdf:type owl:ObjectProperty , owl:FunctionalProperty , owl:AsymmetricProperty ; rdfs:domain dsd:Attribute ; rdfs:comment "Describes an Attribute with an XLS Datatype."@en ; rdfs:isDefinedBy dsd:isOfDataType ; rdfs:label "is of Data Type"@en . ### https://w3id.org/dsd#isOfDatasourceType dsd:isOfDatasourceType rdf:type owl:ObjectProperty , owl:FunctionalProperty , owl:AsymmetricProperty ; rdfs:domain dsd:Datasource ; rdfs:range dsd:DatasourceType ; rdfs:comment "Describes the type of a Data Source. This vocabulary provides some Individuals that can be used."@en ; rdfs:isDefinedBy dsd:isOfDatasourceType ; rdfs:label "is of Data Source Type"@en . ### https://w3id.org/dsd#isSchemaOf dsd:isSchemaOf rdf:type owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain dsd:Schema ; rdfs:range dsd:Datasource ; rdfs:comment "Describes to which data source a schema belongs to." ; rdfs:label "is Schema of"@en . ### https://w3id.org/dsd#referencesTo dsd:referencesTo rdf:type owl:ObjectProperty ; rdfs:subPropertyOf owl:topObjectProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:Concept dsd:PrimaryKey dsd:Association ) ] ; rdfs:range [ rdf:type owl:Class ; owl:unionOf ( dsd:Concept dsd:ForeignKey dsd:Association ) ] ; rdfs:comment "A PrimaryKey, Concept or any kind of Association references to another Concept, ForeignKey or Association."@en ; rdfs:isDefinedBy dsd:referencesTo ; rdfs:label "referencesTo"@en . ################################################################# # Data properties ################################################################# ### https://w3id.org/dsd#avgInstanceLength dsd:avgInstanceLength rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasConceptDescriptor ; rdfs:comment "Gives a value of the average (character) length of instances of this concept. E.g., row entries in a MySQL DB."@en ; rdfs:isDefinedBy dsd:avgInstanceLength ; rdfs:label "Average length of instance"@en . ### https://w3id.org/dsd#constraintOnDelete dsd:constraintOnDelete rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasFKDescriptor ; rdfs:range xsd:string ; rdfs:comment "Describes the constraint that is defined on a foreign key, which action should be carried out if the referenced primary key is deleted."@en ; rdfs:isDefinedBy dsd:constraintOnDelete ; rdfs:label "Constraint on Delete"@en . ### https://w3id.org/dsd#constraintOnUpdate dsd:constraintOnUpdate rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasFKDescriptor ; rdfs:range xsd:string ; rdfs:comment "Describes which constraint is defined on a foreign key if the referenced primary key content is updated."@en ; rdfs:isDefinedBy dsd:constraintOnUpdate ; rdfs:label "Constraint on Update"@en . ### https://w3id.org/dsd#defaultValue dsd:defaultValue rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:string ; rdfs:comment dsd:defaultValue , "Provides an default value for an attribute."@en ; rdfs:label "Default Value"@en . ### https://w3id.org/dsd#hasAssociationDescriptor dsd:hasAssociationDescriptor rdf:type owl:DatatypeProperty ; rdfs:domain dsd:Association ; rdfs:comment "Provides annotations for an association."@en ; rdfs:isDefinedBy dsd:hasAssociationDescriptor ; rdfs:label "has Association Descriptor"@en . ### https://w3id.org/dsd#hasAttributeDescriptor dsd:hasAttributeDescriptor rdf:type owl:DatatypeProperty ; rdfs:domain dsd:Attribute ; rdfs:comment "Provides annotations for an attribute."@en ; rdfs:isDefinedBy dsd:hasAttributeDescriptor ; rdfs:label "has Attribute Descriptor"@en . ### https://w3id.org/dsd#hasConceptDescriptor dsd:hasConceptDescriptor rdf:type owl:DatatypeProperty ; rdfs:domain dsd:Concept ; rdfs:comment "Provides annotations for a concept."@en ; rdfs:isDefinedBy dsd:hasConceptDescriptor ; rdfs:label "has Concept Descriptor"@en . ### https://w3id.org/dsd#hasFKDescriptor dsd:hasFKDescriptor rdf:type owl:DatatypeProperty ; rdfs:domain dsd:ForeignKey ; rdfs:comment "Foreign key descriptor: A textual description of what should happen if the reference of this foreign key is modified (updated/deleted)."@en ; rdfs:isDefinedBy dsd:hasFKDescriptor ; rdfs:label "has Foreign Key Descriptor"@en . ### https://w3id.org/dsd#isAutoIncrement dsd:isAutoIncrement rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:boolean ; rdfs:comment dsd:isAutoIncrement , "If the attribute automatically increments on a new insertion of a new value."@en ; rdfs:label "automatically increments"@en . ### https://w3id.org/dsd#isComplete dsd:isComplete rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAssociationDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( dsd:AggregationAssociation dsd:InheritanceAssociation ) ] ; rdfs:range xsd:boolean ; rdfs:comment "Defines whether an inheritance association is complete. If property is set to FALSE, the association is incomplete."@en ; rdfs:isDefinedBy dsd:isComplete ; rdfs:label "is Complete"@en . ### https://w3id.org/dsd#isDisjoint dsd:isDisjoint rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAssociationDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:domain dsd:AggregationAssociation , dsd:InheritanceAssociation ; rdfs:range xsd:boolean ; rdfs:comment "Describes whether the children of an inheritance association are disjoint. If property is set to FALSE, the children are overlapping."@en ; rdfs:isDefinedBy dsd:isDisjoint ; rdfs:label "is Disjoint"@en . ### https://w3id.org/dsd#isNullable dsd:isNullable rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:boolean ; rdfs:comment dsd:isNullable , "If the attribute can contain NULL values."@en ; rdfs:label "is Nullable"@en . ### https://w3id.org/dsd#isUnique dsd:isUnique rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:boolean ; rdfs:comment dsd:isUnique , "Describes if an attribute is unique or not."@en ; rdfs:label "is Unique"@en . ### https://w3id.org/dsd#maxCharacterLength dsd:maxCharacterLength rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:integer ; rdfs:comment dsd:maxCharacterLength , "Maximum character length of this attribute, given in the number of bits."@en ; rdfs:label "Maximum Character Length"@en . ### https://w3id.org/dsd#noOfInstances dsd:noOfInstances rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasConceptDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:nonNegativeInteger ; rdfs:comment dsd:noOfInstances , "Number of instances of a concept/association."@en ; rdfs:label "Number of Instances"@en . ### https://w3id.org/dsd#ordinalPosition dsd:ordinalPosition rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf dsd:hasAttributeDescriptor ; rdf:type owl:FunctionalProperty ; rdfs:range xsd:positiveInteger ; rdfs:comment dsd:ordinalPosition , "The ordinal position of the attribute to the concept, this information might not always be available (depending on the data source)."@en ; rdfs:label "Ordinal Position"@en . ################################################################# # Classes ################################################################# ### https://w3id.org/dsd#AggregationAssociation dsd:AggregationAssociation rdf:type owl:Class ; rdfs:subClassOf dsd:Association ; rdfs:comment "Describes the relationship between an aggregation that is composed out of several components."@en ; rdfs:isDefinedBy dsd:AggregationAssociation ; rdfs:label "Aggregation association"@en . ### https://w3id.org/dsd#Association dsd:Association rdf:type owl:Class ; rdfs:comment " A dsd:Association describes a relationship between two instances of dsd:Concept. There are three dsd:Association subclasses for aggregation, inheritance, and reference associations."@en ; rdfs:isDefinedBy dsd:Association ; rdfs:label "Association"@en . ### https://w3id.org/dsd#Attribute dsd:Attribute rdf:type owl:Class ; rdfs: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."""@en ; rdfs:isDefinedBy dsd:Attribute ; rdfs:label "Attribute"@en . ### https://w3id.org/dsd#Concept dsd:Concept rdf:type owl:Class ; owl:hasKey ( dsd:hasPrimaryKey ) ; rdfs:comment """A representation of a structural part of a data source. Example: A dsd:Concept can represent a table or a view of a relational database or a class in object-oriented structures."""@en ; rdfs:isDefinedBy dsd:Concept ; rdfs:label "Concept"@en . ### https://w3id.org/dsd#Datasource dsd:Datasource rdf:type owl:Class ; owl:disjointWith dsd:DatasourceType ; owl:disjointUnionOf ( dsd:AggregationAssociation dsd:Attribute dsd:Concept dsd:ForeignKey dsd:InheritanceAssociation dsd:PrimaryKey dsd:ReferenceAssociation dsd:Schema ) ; rdfs:comment """A generic class for representing data sources. Example: A dsd:DataSource can represent structured data such as relational databases, semi-structured data like XML files, or NoSQL databases such as graph databases or wide-column stores. A dsd:DataSource can be assigned to an instance of dsd:DataSourceType."""@en ; rdfs:isDefinedBy dsd:Datasource ; rdfs:label "Data source"@en . ### https://w3id.org/dsd#DatasourceType dsd:DatasourceType rdf:type owl:Class ; rdfs:comment "This class provides instances of the most common data source types, which can be assigned to instance of dsd:DataSource."@en ; rdfs:isDefinedBy dsd:DatasourceType ; rdfs:label "Data source type"@en . ### https://w3id.org/dsd#ForeignKey dsd:ForeignKey rdf:type owl:Class ; rdfs:comment "References to a Primary key and consists of one or more Attributes."@en ; rdfs:isDefinedBy dsd:ForeignKey ; rdfs:label "Foreign key"@en . ### https://w3id.org/dsd#InheritanceAssociation dsd:InheritanceAssociation rdf:type owl:Class ; rdfs:subClassOf dsd:Association ; rdfs:comment "Describes the relationship between several child Concepts and their parent."@en ; rdfs:isDefinedBy dsd:InheritanceAssociation ; rdfs:label "Inheritance association"@en . ### https://w3id.org/dsd#PrimaryKey dsd:PrimaryKey rdf:type owl:Class ; rdfs:comment "Identifies a Concept and consists of one or more Attributes."@en ; rdfs:isDefinedBy dsd:PrimaryKey ; rdfs:label "Primary key"@en . ### https://w3id.org/dsd#ReferenceAssociation dsd:ReferenceAssociation rdf:type owl:Class ; rdfs:subClassOf dsd:Association ; rdfs:comment "Describes a regular relationship between two or more Concepts."@en ; rdfs:isDefinedBy dsd:ReferenceAssociation ; rdfs:label "Reference association"@en . ### https://w3id.org/dsd#Schema dsd:Schema rdf:type owl:Class ; rdfs:comment "Instances of dsd:Schema provide an optional hierarchy level between an instance of dsd:DataSource and instances of dsd:Concept. Schemas allow the grouping of concepts and are very common in enterprise databases."@en ; rdfs:label "Schema"@en . ################################################################# # Individuals ################################################################# ### https://w3id.org/dsd#CSV_File dsd:CSV_File rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#Completeness dsd:Completeness rdf:type owl:NamedIndividual . ### https://w3id.org/dsd#Correctness dsd:Correctness rdf:type owl:NamedIndividual . ### https://w3id.org/dsd#Excel_Sheet dsd:Excel_Sheet rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#Minimality dsd:Minimality rdf:type owl:NamedIndividual . ### https://w3id.org/dsd#NoSQL_DB dsd:NoSQL_DB rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#OO_DB dsd:OO_DB rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#Pertinence dsd:Pertinence rdf:type owl:NamedIndividual . ### https://w3id.org/dsd#PlainText dsd:PlainText rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#RDF_Store dsd:RDF_Store rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#Relational_DB dsd:Relational_DB rdf:type owl:NamedIndividual , dsd:DatasourceType . ### https://w3id.org/dsd#XML_File dsd:XML_File rdf:type owl:NamedIndividual , dsd:DatasourceType . ################################################################# # General axioms ################################################################# [ rdf:type owl:AllDisjointClasses ; owl:members ( dsd:AggregationAssociation dsd:InheritanceAssociation dsd:ReferenceAssociation ) ] . ### Generated by the OWL API (version 4.5.24.2023-01-14T21:28:32Z) https://github.com/owlcs/owlapi