PREFIX prof: <http://www.w3.org/ns/dx/prof/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

prof:ResourceRole a rdfs:Class ;
  rdfs:label "Resource Role" ;
  rdfs:comment "The role that an Resource plays"@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

<http://purl.org/dc/terms/Standard> a rdfs:Class .

prof:Profile a rdfs:Class ;
  rdfs:label "Profile" ;
  rdfs:comment """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\"."""@en ;
  rdfs:subClassOf <http://purl.org/dc/terms/Standard> .

prof:isTransitiveProfileOf a rdf:Property ;
  rdfs:label "is transitive profile of" ;
  rdfs:comment "A base specification an Profile conforms to"@en ;
  rdfs:domain prof:Profile ;
  rdfs:range <http://purl.org/dc/terms/Standard> .

prof:hasToken a rdf:Property ;
  rdfs:label "has token" ;
  rdfs:comment "A preferred alternative identifier for the Profile"@en ;
  rdfs:domain prof:Profile ;
  rdfs:range xsd:token .

prof:isProfileOf a rdf:Property ;
  rdfs:label "is profile of" ;
  rdfs:comment "A Profile is a profile of a dct:Standard (or a Base Specification or another Profile)"@en ;
  rdfs:domain prof:Profile ;
  rdfs:range <http://purl.org/dc/terms/Standard> ;
  rdfs:subPropertyOf prof:isTransitiveProfileOf .

<http://www.w3.org/2004/02/skos/core#Concept> a rdfs:Class .

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

prof:ResourceDescriptor a rdfs:Class ;
  rdfs:label "Resource Descriptor"@en ;
  rdfs:comment "A resource that defines an aspect - a particular part or feature - of a Profile"@en .

prof:hasArtifact a rdf:Property ;
  rdfs:label "has artifact" ;
  rdfs:comment "The URL of a downloadable file with particulars such as its format and role indicated by a Resource Descriptor"@en ;
  rdfs:domain prof:ResourceDescriptor ;
  rdfs:range <https://w3id.org/linkml/Any> .

prof:hasRole a rdf:Property ;
  rdfs:label "has role" ;
  rdfs:comment "The function of the described artifactresource in the expression of the Profile, such as a specification, guidance documentation, SHACL file etc."@en ;
  rdfs:domain prof:ResourceDescriptor ;
  rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> .

prof:isInheritedFrom a rdf:Property ;
  rdfs:label "is inherited from" ;
  rdfs:comment "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"@en ;
  rdfs:domain prof:ResourceDescriptor ;
  rdfs:range prof:Profile .

<http://purl.org/dc/terms/MediaTypeOrExtent> a rdfs:Class .

prof:hasResource a rdf:Property ;
  rdfs:label "has resource"@en ;
  rdfs:comment "A resource which describes the nature of an artifact and the role it plays in relation to a profile"@en ;
  rdfs:range prof:ResourceDescriptor .
