<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
  xmlns:owl="http://www.w3.org/2002/07/owl#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dct="http://purl.org/dc/terms/"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
>
  <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/isInheritedFrom">
    <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/ResourceDescriptor"/>
    <skos:definition xml:lang="en">This property indicates a Resource Descriptor described by this Profile’s base specification that is to be considered a Resource Descriptor for this Profile also</skos:definition>
    <skos:usageNote xml:lang="en">This property is created for the convenience of clients. When profile describers wish to allow clients to discover all resources relevant to a Profile without having to navigating an inheritance hierarchy of prof:profileOf relations, this predicate may be used to directly associate inherited Profile Descriptors with the Profile. If this property is present, it should be used consistently and all relevant resources a client may need to utilise the profile should be present and described using this predicate</skos:usageNote>
    <rdfs:label>is inherited from</rdfs:label>
    <rdfs:range rdf:resource="http://www.w3.org/ns/dx/prof/Profile"/>
  </owl:ObjectProperty>
  <owl:Ontology rdf:about="http://www.w3.org/ns/dx/prof">
    <dc:contributor>Alejandra Gonzalez-Beltran</dc:contributor>
    <dct:contributor rdf:resource="http://orcid.org/0000-0002-8742-7730"/>
    <dc:contributor>Simon Cox</dc:contributor>
    <dc:contributor>Nicholas Car</dc:contributor>
    <owl:versionInfo>1.0</owl:versionInfo>
    <dct:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2018-02-16</dct:created>
    <dc:creator>Rob Atkinson</dc:creator>
    <owl:versionIRI rdf:resource="http://www.w3.org/ns/dx/prof/1.0"/>
    <rdfs:label>Profiles Vocabulary</rdfs:label>
    <dct:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2018-11-15</dct:modified>
    <rdfs:comment xml:lang="en">This vocabulary is for describing relationships between standards/specifications, profiles of them and supporting artifacts such as validating resources.

This model starts with [http://dublincore.org/2012/06/14/dcterms#Standard](dct:Standard) entities which can either be Base Specifications (a standard not profiling any other Standard) or Profiles (Standards which do profile others). Base Specifications or Profiles can have Resource Descriptors associated with them that defines implementing rules for the it. Resource Descriptors must indicate the role they play (to guide, to validate etc.) and the formalism they adhere to (dct:format) to allow for content negotiation. A vocabulary of Resource Roles are provided alongside this vocabulary but that list is extensible.</rdfs:comment>
    <dct:contributor rdf:resource="http://orcid.org/0000-0002-3884-3420"/>
  </owl:Ontology>
  <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/hasRole">
    <skos:definition xml:lang="en">The function of the described artifactresource in the expression of the Profile, such as a specification, guidance documentation, SHACL file etc.</skos:definition>
    <skos:usageNote xml:lang="en">A set of common roles are defined by the Profiles Vocabulary. These are not exhaustive or disjoint, and may be extended for situations where finer grained description of purpose is necessary. A resource may perform multiple roles</skos:usageNote>
    <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/ResourceDescriptor"/>
    <rdfs:range rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <rdfs:label>has role</rdfs:label>
  </owl:ObjectProperty>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/conformsTo">
    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
    <skos:definition xml:lang="en">An established standard to which the described resource conforms</skos:definition>
    <rdfs:label>conforms to</rdfs:label>
    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation"/>
    <rdfs:range rdf:resource="http://purl.org/dc/terms/Standard"/>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/>
  </owl:AnnotationProperty>
  <owl:Class rdf:about="http://www.w3.org/ns/dx/prof/ResourceRole">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <rdfs:label>Resource Role</rdfs:label>
    <skos:usageNote xml:lang="en">Specific terms must come from a vocabulary</skos:usageNote>
    <skos:definition xml:lang="en">The role that an Resource plays</skos:definition>
  </owl:Class>
  <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/hasResource">
    <rdfs:label xml:lang="en">has resource</rdfs:label>
    <skos:usageNote xml:lang="en">This property is analogous to dcat:distribution however the domain is not necessarily dcat:Dataset. dcat:Dataset and prof:Profile are not disjoint, so it is up to implementations to decide if these are equivalent properties</skos:usageNote>
    <skos:definition xml:lang="en">A resource which describes the nature of an artifact and the role it plays in relation to a profile</skos:definition>
    <rdfs:range rdf:resource="http://www.w3.org/ns/dx/prof/ResourceDescriptor"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/isProfileOf">
    <skos:definition xml:lang="en">A Profile is a profile of a dct:Standard (or a Base Specification or another Profile)</skos:definition>
    <skos:usageNote xml:lang="en">A Profile may define constraints on the usage of one or more specifications. All constraints of these specifications are inherited, in the sense that an object conforming to a profile conforms to all the constraints specified the targets of prof:isProfileOf relations. This property is optional, allowing any specification to be declared at the root of a profile hierarchy using the Profile class</skos:usageNote>
    <rdfs:subPropertyOf>
      <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/isTransitiveProfileOf">
        <rdfs:label>is transitive profile of</rdfs:label>
        <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/Profile"/>
        <skos:usageNote xml:lang="en">This is a convenience predicate that may be used to declare all specifications (including profiles) that the subject profile requires an information resource to conform to. This avoids forcing clients to traverse a profile hierarchy to find all conformance implications and available resources. If present all such relationships should be present so a client can safely avoid hierarchy traversal</skos:usageNote>
        <skos:definition xml:lang="en">A base specification an Profile conforms to</skos:definition>
        <rdfs:range rdf:resource="http://purl.org/dc/terms/Standard"/>
      </owl:ObjectProperty>
    </rdfs:subPropertyOf>
    <rdfs:range rdf:resource="http://purl.org/dc/terms/Standard"/>
    <rdfs:label>is profile of</rdfs:label>
    <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/Profile"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="http://www.w3.org/ns/dx/prof/hasArtifact">
    <rdfs:label>has artifact</rdfs:label>
    <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/ResourceDescriptor"/>
    <skos:usageNote xml:lang="en"></skos:usageNote>
    <skos:definition xml:lang="en">The URL of a downloadable file with particulars such as its format and role indicated by a Resource Descriptor</skos:definition>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/dx/prof/hasToken">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#token"/>
    <rdfs:domain rdf:resource="http://www.w3.org/ns/dx/prof/Profile"/>
    <rdfs:label>has token</rdfs:label>
    <skos:definition xml:lang="en">A preferred alternative identifier for the Profile</skos:definition>
    <skos:usageNote xml:lang="en">A simple lexical form of identifier that may be accepted in some circumstances, such as API arguments to reference this profile. This is a “preferred term”, since alternative identifiers may be declared and used by any implementation</skos:usageNote>
  </owl:DatatypeProperty>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/format">
    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/format"/>
    <rdfs:range rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
  </owl:AnnotationProperty>
  <owl:Class rdf:about="http://www.w3.org/ns/dx/prof/Profile">
    <rdfs:label>Profile</rdfs:label>
    <skos:definition xml:lang="en">A named set of constraints on one or more identified base specifications or other profiles, including the identification of any implementing subclasses of datatypes, semantic interpretations, vocabularies, options and parameters of those base specifications necessary to accomplish a particular function.

This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles".</skos:definition>
    <dct:source rdf:resource="https://www.w3.org/2017/dxwg/wiki/ProfileContext"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/Standard"/>
  </owl:Class>
  <owl:Class rdf:about="http://www.w3.org/ns/dx/prof/ResourceDescriptor">
    <skos:definition xml:lang="en">A resource that defines an aspect - a particular part or feature - of a Profile</skos:definition>
    <rdfs:label xml:lang="en">Resource Descriptor</rdfs:label>
    <skos:usageNote xml:lang="en">Can be use to indicate the formalism (via dct:format) and any adherence to a dct:Standard (via dct:conformsTo) to allow for machine mediation as well as its purpose via relation to a ResourceRole (via hasRole)</skos:usageNote>
  </owl:Class>
</rdf:RDF>