This document reports implementations of the Profiles Vocabulary [[DX-PROF|PROF]].

Introduction

The Profiles Vocabulary (PROF) is an RDF vocabulary created to allow the machine-readable description of profiles of specifications for information resources.

To show that PROF's constructed sensibly and that all parts of it are useful, we have collected here evidence of value, in the form of vocabulary element use (see ). The results are summarized in this report.

Namespace prefixes

In this document we will employ the following namespace prefixes:

prof
http://www.w3.org/ns/dx/prof/
The namespace for PROF
role
http://www.w3.org/ns/dx/prof/role/
The namespace for PROF's prof:ResourceRole vocabulary
earl
http://www.w3.org/ns/earl#
Evaluation and Report Language

Methodology

We followed the steps described below to collect evidence for the use of elements of [[DX-PROF|PROF]]:

  1. Identified implementations
    • We identified both direct usage of the vocabulary terms in data (RDF ontologies and datasets) and systems that utilise the vocabulary in software
  2. Tabulated the implementations
  3. Tabulated the use of each vocabulary element implemented

We verified the claims made by the various implementations using a test suite which is detailed in [[PROF-TESTING]].

Meeting the exit criteria

In like with the DXWG's expectations for publication implementation evidence, as given in the DXWG charter, we have sought at least two independent implementations for every PROF element to advance PROF from a Working Group note to a Candidate Recommendation.

Test Suite

To verify the claims of implementations, test suite software was created. The software uses the pySHACL, an open-source [[SHACL]] validation tool, to validated RDF implementations of PROF.

The code for the test suite is stored in the following code repository location:

That repository contains notes on how to apply the test suite.

Test Suite Results

The results from applying this test suite to implementations are given in the tables in .

Implementation Evidence

Implementations

Table 1: Known Data Implementations of PROF
ID Name Description Implementer(s) Location online
I1 The Project Ontology

The PROJECT ontology is designed to enable publication of information describing projects, including research projects. It is not designed to support project management, though sub-activities are included. As far as possible PROJECT is intended to be domain-neutral, and it is expected that domains and applications will specialize or extend this ontology for more specific purposes.

This ontology profiles [[PROV-O]].

This ontology's relationships to the things that it profiles and the relationships between its parts are described using PROF.

Simon J.D Cox (CSIRO) https://linked.data.gov.au/def/project
I2 Open Data Rights Language Best Practice - Profiling

Good practices in developing, defining and making public an ODRL Profile.

This document describes how all resources - named as artifacts - which are relevant for an ODRL Profile can be described and related to one another using PROF.

Michael Steidl (NewsIT) via the W3C's ODRL CG https://w3c.github.io/odrl/profile-bp/#profilevocab
I3 OGC's Specifications Hierarchy

Rob to complete

This collection of specifications and profiles of them, and their parts, are all described using PROF. Of particular interest is the large hierarchy of profiles created.

Rob Atkinson (OGC) https://docs.opengeospatial.org/
I4 Plant Health Surveillance Ontology

An ontology about surveillance to determine plant health, such as fruit fly trapping.

This ontology's relationships to the things that it profiles and the relationships between its parts are described using PROF.

Stephen J. Pratt Australian Department of Agriculture, Water & the Environment N.J. Car & (SURROUND)

https://linked.data.gov.au/def/phs

Profiles ontology view: https://linked.data.gov.au/def/phs?_profile=prof

I5 Cheka

A profile hierarchy-based RDF graph validation tool written in Python.

This tool uses conformance claims to profiles in data, indicated as suggested by PROF's Introduction with the use of dct:conformsTo, to validate that data. It traverses a profile hierarchy "up" from the profile the data claims conformance to, to find all the validators of that profile and of the things (specifications or other profiles) that it profiles and thus, by PROF's definitions, the data must also conform to.

N.J. Car (SURROUND) https://github.com/surroundaustralia/cheka
I6 W3ID Profiles Catalogue

A catalogue of profiles using the W3ID persistent URI namespace.

There are multiple PROF profiles listed in this catalogue whose purpose is to provide a freely-accessible place to catalogue (list and present) any profile and also to provide profile hierarchies built from PROF RDF.

N.J. Car (SURROUND)

https://w3id.org/profile/ (persistent catalogue location)

https://github.com/surroundaustralia/catprez-overlay-profcat (repository of ProfCat content)

Example profile:
The Vocabulary Publication Profile

I7 Commission for Geoscience Information's vocabularies

An API delivering multiple representations of SKOS vocabularies in accordance with the [[DX-PROF-CONNEG]] specification's methods.

This system, based on the pyLDAPI too, lists the profiles according to which representations of resource may be requested. It uses [[DX-PROF-CONNEG]]'s Alternate Representations Data Model to communicate profile information in an Alternate Profiles listing for a resource. This data model uses some PROF elements, such as prof:hasToken.

N.J. Car (SURROUND)

http://cgi.vocabs.ga.gov.au/ (system URI location)

It is a requirement for W3C implementations to be independent, thus the implementations above by the same implementors are counted as a single implementation. Therefore, the independent implementation groups above are:

  1. I1 - Simon Cox, CSIRO
  2. I2 - ODRL Community Group (CG)
  3. I3 - Open Geospatial Consortium (OGC)
  4. I4, I5, I6 & I7 - Nicholas Car, SURROUND & DXWD and others

Implementation claims per Vocabulary Element

This section records the instances of each PROF element's use per implementation.

Table 2: Implementations of PROF per element
Element Implementer(s) Location online Notes
Class: Profile
  • I1
  • I2
  • I3
  • I4
  • I7
I1, I3 & I4 are straightforward instance uses of prof:Profile, I2 is the demonstrated use of prof:Profile within an example, exhorting creators of profiles of [[ODRL-VOCAB]] to use it in their instances.
Property: hasResource
  • I1
  • I2
  • I3
  • I4
  • I5
>I5's use is within a SPARQL query looks for resources from a profiles, possibly within a hierarchy, via this property.
Property: isProfileOf
  • I1
  • I2
  • I3
  • I4
  • I5
I5's use is as SPARQL query that follows prof:isProfileOf path chains
Property: isTransitiveProfileOf
  • I3
  • I4
Property: hasToken
  • I7
 

The Alternate Profiles listing indicates a number of prof:Profile instances which representations of the resource conform to. Those representations may be indicated within the API using xsd:tokens and the link between the profile description and the token to be used is indicated by prof:hastoken.

Class: ResourceDescriptor
  • I1
  • I2
  • I3
  • I4
The ResourceDescriptor use by I4 is inferred from the domain entailment of the property prof:hasResource.
Property: hasArtifact
  • I1
  • I2
  • I3
  • I4
  • I5
I5's SPARQL query looks for validation files stored either locally, within a profiles repository, or remotely.
Property: dct:conformsTo
  • I2
  • I3
  • I4
The PHS Ontology Profile in I4 itself conforms to the Australian Government's Ontology Profile (AGOP) which it indicates with dct:conformsTo.
Property: dct:format
  • I2
  • I3
  • I4
Property: hasRole
  • I1
  • I2
  • I3
  • I4
  • I5
I5's use is as a SPARQL query that looks to find prof:ResourceDescriptor instances with the role of role:validation
Property: isInheritedFrom    
Class: ResourceRole
  • I1
  • I2
  • I3
  • I4
Resource Role class instances
Element Implementer(s) Location online Notes
ResourceRole: Constraints    
ResourceRole: Example
  • I1
ResourceRole: Guidance
  • I4
ResourceRole: Mapping    
ResourceRole: Schema
  • I1
  • I4
ResourceRole: Specification
  • I1
  • I2
ResourceRole: Validation
  • I4
  • I5

Implementations not independent.

I5's use is as SPARQL query that looks to find profile resources with the role of role:validation.

ResourceRole: Vocabulary
  • I2

General analysis

Acknowledgements

The editors gratefully acknowledge the contributions made to gathering evidence for [[DX-PROF|PROF]] and reviewing this report by all members of the Dataset Exchange Working Group (DXWG), in particular Simon Cox. We also acknowledge the members of the ODRL Community Group, in particular Renato Iannella and Michael Steidl.