-
Notifications
You must be signed in to change notification settings - Fork 47
Qualified relations
The Qualified Relation pattern is a solution for refining a relationship between entities. It is helpful when additional information about a relationship is required, such as the time-instant or -interval when a relationship existed, or when the complete set of relationships cannot be defined in the base vocabulary. The qualifier is either (preferably) taken from a set of values maintained separately to the base vocabulary (e.g. in a controlled vocabulary), or may be defined inline, i.e. at 'run-time'.
|
Qualified relations are often implemented as blank-nodes, as shown here.
Examples of qualified relationships in existing W3C vocabularies include:
-
The qualified terms in Prov-O each elaborate one of the simple relationships defined in the 'Starting Point' and 'Expanded' parts of the vocabulary. The qualified forms allow for various kinds of qualification, including time, role, plan etc.
- The set of qualified terms is summarized in this diagram.
-
In the Organization Ontology relationships between
Organizations
andAgents
(e.g.Persons
) are implemented using association classesPost
andMembership
which allow the role and timing of the relationship to be specified.- Post and Membership can be seen in this diagram.
-
The Sample Relations module in SSN supports the wide variety of relationships between
Samples
that are required to describe all potential scenarios in empirical science.- Qualified sample relations can be seen in this diagram.
The code for these applications is currently in
A generic attribution relationship from a dataset to an agent can be encoded using prov:wasAttributedTo
.
Standard specializations (implicitly sub-properties of prov:wasAttributedTo
) are available from Dublin Core, dct:contributor
, dct:creator
, and dct:publisher
. However, there are many other potential roles for an agent with respect to an entity or resource. These can be encoded using the qualified form prov:qualifiedAttribution from PROV-O, as shown in the following example:
ex:DS987
a dcat:Dataset ;
prov:qualifiedAttribution [
a prov:Attribution ;
prov:agent <https://www.ala.org.au/> ;
dcat:hadRole <https://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/distributor>
] ;
prov:qualifiedAttribution [
a prov:Attribution ;
prov:agent <https://www.education.gov.au/> ;
dcat:hadRole <http://id.loc.gov/vocabulary/relators/fnd>
] ;
.
In this example the values of dcat:hadRole
are taken from the INSPIRE list of responsible party roles and the MARC Relators
Some controlled vocabularies of agent roles are available, including
- CI_RoleCode from ISO 19115-1:2014
- URIs for all of the individual entries are available from CSIRO
- Subset of CI_RoleCode in Responsible party role from INSPIRE
- MARC relators
- DataCite contributor types - see Table 5 in PDF or XML schema
Note: The
rdfs:domain
ofprov:hadRole
property isprov:Association
[PROV-O] i.e. PROV-O roles relate to activities, not entities. Therefore, a new propertydcat:hadRole
is required to attach a specific role to aprov:Attribution
.
Generic relationships between datasets can be encoded using dct:relation
(see Property: resource relation).
Standard specializations (sub-properties) of dct:relation
are available from Dublin Core and PROV-O. The W3C Data cube vocabulary also has two properties related to specific sub-setting arrangements: qb:slice
for lower dimensional subsets; qb:observation
for a single item from a dataset .
For cases where none of these are suitable, the qualified relation pattern can be used.
Standard PROV-O qualified terms to relate entities are prov:qualifiedDerivation
or prov:qualifiedInfluence
, but do not appear to cover the full scope required. In particular, they do not fully cover
- part-whole or entity composition (other than as members of a collection)
- members of a series, including sequential or relative positions within the series
- spatio-temporal and topological relationships
To satisfy this, a new property dcat:qualifiedRelation
and class dcat:QualifiedRelationship
could be introduced in DCAT, along with dcat:hadRole
, and used following this example:
ex:Test987
a dcat:Dataset ;
dcat:qualifiedRelation [
a dcat:QualifiedRelationship ;
dcat:target <http://example.org/Test123> ;
dcat:hadRole "canonical" ;
] ;
.
In this example the value of dcat:hadRole
is taken from the IANA registry of Link Relations
Some controlled vocabularies of dataset relations are available, including
- DataCite resource relations - see Table 9 in PDF or XML schema
- MARC relators in particular Relationship sub-types
- DS_AssociationTypeCode from ISO 19115-1:2014
- URIs for the individual entries are available from CSIRO
- URIs for an extended list of entries including PROV-O-aligned terms available from Geoscience Australia
- the IANA registry of Link Relations
The term prov:qualifiedGeneration from PROV-O may be used to provide details of how an activity provides context for a dataset or other resource, using the following pattern:
ex:DS987
a dcat:Dataset ;
prov:qualifiedGeneration [
a prov:Generation ;
prov:activity <https://collections.ala.org.au/public/show/dp3904> ;
prov:atTime "2014-05-31T12:00:00"^^xsd:dateTime
] ;
.
Here the qualified relation pattern allows us to add a time-stamp to the association between a data set and the (ongoing) activity which generated it.
Simple relations can be mapped to qualified relations using property-chain-axioms.
For example, the well known Dublin Core properties dct:creator
, dct:contributor
, dct:publisher
can be related to the qualified forms from PROV-O as follows:
dct:publisher
rdfs:subPropertyOf prov:wasAttributedTo ;
owl:propertyChainAxiom (
[
rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf prov:qualifiedAttribution ;
rdfs:range [
rdf:type owl:Class ;
rdfs:subClassOf prov:Attribution ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:hasValue <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/publisher> ;
owl:onProperty dcat:hadRole ;
] ;
] ;
]
prov:agent
) ;
.
i.e. dct:publisher
is
- a special cases of
prov:wasAttributedTo
- corresponding to the property-chain
[ prov:qualifiedAttribution , prov:agent ]
- with the value of the
dcat:hadRole
property on theprov:Attribution
fixed to<http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/publisher>
.
Some specific entity-entity relationships are included in the Dublin Core Metadata Terms (with mappings to PROV-O taken from prov-dc), including
dct:hasVersion rdfs:subPropertyOf prov:hadRevision
dct:hasFormat rdfs:subPropertyOf prov:alternateOf
dct:references rdfs:subPropertyOf prov:wasDerivedFrom
-
dct:replaces
complex mapping dct:source rdfs:subPropertyOf prov:wasDerivedFrom
The following Use Cases potentially require solutions using qualified forms
- Relationships between Datasets [ID32]
- Relationships between Distributions of a Dataset [ID34]
- Modeling data lineage [ID12]
- Dataset business context [ID49]
- Modeling funding sources [ID31]
- Modeling agent roles [ID13]
- Guidance on the use of qualified forms [ID19]
The following Requirements derived from these use cases appear to be resolvable using qualified forms