PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vocabulary: <https://w3id.org/ontouml-models/vocabulary#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

vocabulary:MetadataElement a rdfs:Class ;
  rdfs:label "Metadata Element"@en ;
  rdfs:comment "An element used in the metadata description of OntoUML models."@en .

<http://www.w3.org/ns/dcat#Dataset> a rdfs:Class .

vocabulary:storageUrl a rdf:Property ;
  rdfs:label "storage URL"@en ;
  rdfs:comment "Determines a URL of a service in which the data and metadata of the dataset are stored. Accepts values in xsd:anyURI."@en ;
  rdfs:domain <http://www.w3.org/ns/dcat#Dataset> ;
  rdfs:range xsd:anyURI .

<https://w3id.org/mod#SemanticArtefact> a rdfs:Class .

vocabulary:representationStyle a rdf:Property ;
  rdfs:label "representation style"@en ;
  rdfs:comment "Identifies an ocmv:OntologyRepresentationStyle representation adopted in the artefact."@en ;
  rdfs:domain <https://w3id.org/mod#SemanticArtefact> ;
  rdfs:range vocabulary:OntologyRepresentationStyle .

vocabulary:context a rdf:Property ;
  rdfs:label "context"@en ;
  rdfs:comment "Identifies an ocmv:Context in which the artefact was developed."@en ;
  rdfs:domain <https://w3id.org/mod#SemanticArtefact> ;
  rdfs:range vocabulary:OntologyDevelopmentContext .

vocabulary:ontologyType a rdf:Property ;
  rdfs:label "ontology type"@en ;
  rdfs:comment "Identifies an ocmv:OntologyRepresentationStyle representation styles adopted in the artefact."@en ;
  rdfs:domain <https://w3id.org/mod#SemanticArtefact> ;
  rdfs:range vocabulary:OntologyType .

<http://xmlns.com/foaf/0.1/Organization> a rdfs:Class .

<http://www.w3.org/ns/dcat#Distribution> a rdfs:Class .

vocabulary:conformsToSchema a rdf:Property ;
  rdfs:label "conforms to schema"@en ;
  rdfs:comment "Identifies a schema upon which the distribution can be validated against. E.g., a JSON Schema document, a SHACL shape, and an XML Schema document."@en ;
  rdfs:domain <http://www.w3.org/ns/dcat#Distribution> ;
  rdfs:range <https://w3id.org/linkml/Any> .

vocabulary:isComplete a rdf:Property ;
  rdfs:label "is complete"@en ;
  rdfs:comment "Determines if a distribution contains all the data from the dcat:Dataset it materializes. In the catalog, the distributions of models in VPP, JSON, and Turtle are complete, while those in image format are not."@en ;
  rdfs:domain <http://www.w3.org/ns/dcat#Distribution> ;
  rdfs:range xsd:boolean .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

vocabulary:OntologyPurpose a rdfs:Class ;
  rdfs:label "Ontology Purpose"@en ;
  rdfs:comment "Determines what is the main purpose of the artifact (e.g., conceptual clarification or data integration)."@en ;
  rdfs:subClassOf vocabulary:MetadataElement .

vocabulary:OntologyDevelopmentContext a rdfs:Class ;
  rdfs:label "Ontology Development Context"@en ;
  rdfs:comment "Determines what is the context in which the artifact was developed."@en ;
  rdfs:subClassOf vocabulary:MetadataElement .

vocabulary:Industry a vocabulary:OntologyDevelopmentContext ;
  rdfs:label "Industry Context"@en ;
  rdfs:comment "Determines that the artefact was developed for a public or private organization."@en .

vocabulary:Classroom a vocabulary:OntologyDevelopmentContext ;
  rdfs:label "Classroom Context"@en ;
  rdfs:comment "Determines that the artefact was developed within the context of a course on conceptual modeling, most likely as a course assignment."@en .

vocabulary:Research a vocabulary:OntologyDevelopmentContext ;
  rdfs:label "Research Context"@en ;
  rdfs:comment "Determines that the artefact was developed as part of a research project. This usually implies that the artefact was featured in a scientific publication."@en .

vocabulary:OntologyRepresentationStyle a rdfs:Class ;
  rdfs:label "Ontology Representation Style"@en ;
  rdfs:comment "Representation styles adopted for modeling the artefact."@en ;
  rdfs:subClassOf vocabulary:MetadataElement .

vocabulary:UfoStyle a vocabulary:OntologyRepresentationStyle ;
  rdfs:label "UFO Style"@en ;
  rdfs:comment "Characterizes a model that contains at least one class or relation from UFO without an OntoUML stereotype."@en .

vocabulary:OntoumlStyle a vocabulary:OntologyRepresentationStyle ;
  rdfs:label "OntoUML Style"@en ;
  rdfs:comment "Characterizes a model that contains at least one class, relation, or property using a valid OntoUML stereotype."@en .

vocabulary:OntologyType a rdfs:Class ;
  rdfs:label "Ontology Type"@en ;
  rdfs:comment "Identifies the categorization of the artifacts according to their scopes."@en ;
  rdfs:subClassOf vocabulary:MetadataElement .

vocabulary:Application a vocabulary:OntologyType ;
  rdfs:label "Application Ontology"@en ;
  rdfs:comment "Identifies an ontology that specializes a domain ontology where there could be no consensus or knowledge sharing. It represents the particular model of a domain according to a single viewpoint of a user or a developer."@en .

vocabulary:Domain a vocabulary:OntologyType ;
  rdfs:label "Domain Ontology"@en ;
  rdfs:comment "Identifies an ontology that describes how a community conceptualizes a phenomenon of interest. In general, a domain ontology formally characterizes a much narrower domain than a core ontology does. E.g., OntoBio is a domain ontology of biodiversity."@en .

vocabulary:Core a vocabulary:OntologyType ;
  rdfs:label "Core Ontology"@en ;
  rdfs:comment "Identifies an ontology that grasps the central concepts and relations of a given domain, possibly integrating several domain ontologies and being applicable in multiple scenarios. E.g., UFO-S, a commitment-based ontology of services, can be considered a core ontology because it applies to services in multiple domains, such as medical, financial, and legal services."@en .
