Skip to content

Application profiles

Rob Atkinson edited this page May 4, 2018 · 8 revisions

This page is for proposals related to the application profiles milestone.

RobA and NicholasCar have made a start, with feedback from others for an RDF vocabulary to describe profiles along with some examples from DCAT v 1.0, DCAT-AP, OGC and some Geoscience Australia projects.

This vocabulary will allow profile guidance to be formalised concisely, particularly in terms of derived sub-profiles and the nature of supporting resources. It is logically a stand-alone deliverable with a broader applicability however, and supports DCAT expression of finer grained semantics of Dataset and Distribution objects.

Here follows the example for DCAT-AP. Comments with LarsG are from me (to see if I understand Rob's thinking correctly)

#DCAT-AP examples

# LarsG: Here DCAT-AP v1.1 is defined as a prof:Profile. 

<https://joinup.ec.europa.eu/release/dcat-ap-v11> 
	a prof:Profile ;

# LarsG: The prof:token is intended to be used as a short name e. g. when performing
# profile negotiation.
        prof:token "dcat-ap" ;
	rdfs:label "DCAT-AP: DCAT application profile for data portals in Europe";
	dc:publisher "European Union" ;
	
# LarsG: prof:profileOf points to the base specification this profile conforms to. In
# this case it's dcat: and dcat v.1. (I don't think I quite understand the semantics
# of this... It seems a bit weird that this profile conforms to dcat. Perhaps
# profileFor is a more intuitive name.
        prof:profileOf dcat: , <http://www.w3.org/ns/dcat-v1> ;

# Lars G: prof:hasProfile is defined as owl:inverseOf prof:profileOf. If this means
# that :geodcat-ap-v10 is a known profile of :dcat-ap-v11 (this profile) my
# interpretation would be that :geodcat-ap-v10 is based on this profile. Could
# prof:isBasedOn/prof:wasBaseFor be another way of naming this?
	prof:hasProfile <https://joinup.ec.europa.eu/release/geodcat-ap-v10> ;

# LarsG: This points to a schema implementing this profile. The schema can be used
# to validate data using a specific technology
	prof:resource eg:dcat-shacl ;
.

# LarsG: This one describes a resource (schema) implementing this profile using a
# specific technology (in this case RDF/SHACL)
eg:dcat-shacl a prof:ImplResourceDesc;
	rdfs:label "DCAT-AP-V1.0 SHACL constraints";

# LarsG: This is where we can get hold of the SHACL file
	prof:resource <http://data.europa.eu/w21/016d88c3-a0b3-4506-ae4e-758e7401c096> ;

# LarsG: prof:resourceType points to a controlled vocabulary (skos:Concept) giving
# us information about the nature of the resource (schema...)
	prof:resourceType eg:shacl;

# LarsG: this one states again that it's a SHACL resource so it seems to repeat the same
# as the prof:resourceType above... The specification says it's "the formalism" used for
# machine mediation
	dct:format <http://www.w3.org/ns/shacl#>;

# LarsG: The definition of prof:ImplResourceDesc says that dct:type is mandatory for
# instances of that class but it seems to be missing here. It's supposed to give
# "the purpose" used for machine mediation.
	.
	
<https://joinup.ec.europa.eu/release/geodcat-ap-v10> a prof:Profile ;
	prof:profileOf <https://joinup.ec.europa.eu/release/dcat-ap-v11> ;
	rdfs:label """GeoDCAT-AP: A geospatial extension for the DCAT application profile
            for data portals in Europe""";
        prof:token "geodcat-ap" ;
.

This following is a graphic version of the above turtle (still lacking the dct:type) Image depicting the code above