W3C home > Mailing lists > Public > public-dxwg-wg@w3.org > February 2019

Re: [dxwg] prof:inheritedFrom needs more convincing case and/or example (#642)

From: Stephen Richard via GitHub <sysbot+gh@w3.org>
Date: Wed, 06 Feb 2019 18:00:08 +0000
To: public-dxwg-wg@w3.org
Message-ID: <issue_comment.created-461122975-1549476006-sysbot+gh@w3.org>
Is the inheritedFrom property really necessary? What if the encoding worked like the example below. 
What is actually modeled is a specification (the intention of dct:Standard, even if the actual defintion isn't clear). It's still represented by the prof:Profile class in the example.  The distinction of 'standard' and 'profile' is apparently pretty fuzzy given all the discussion about defining profile.
By treating resourceDescriptor as a qualified association from a specification to some related resource that has one or more distributions, various problems can be solved or avoided. To address @kcoyle question 1 and 3, use hasRole property could specify the 'inheritance' relationship type (override, replace, restrict, supplement), and add a property to link the ResourceDescriptor back to what it describes/constrains.  Making the range of hasArtifact a dcat:distribution, multiple representations for the resourceDescriptor target could be addressed (@kcoyle question 2 above). 

```
# Standard X, has validation resource SX-RS_1, 
# described using PROF, has SHEX and SHACL representations
# of validation rules.
# Profile_Y uses the constraints resource SX-RS_1  from Standard_X
#,  add validation rules as another 'hasResource' blank node,
# 	and has guidance document available as MSWord doc or pdf:

<@prefix ex1: <http://example.org/profile1/> .
@prefix ex2: <http://example.org/profile2/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix role: <http://www.w3.org/ns/dx/prof/role/> .


ex1:Standard_X
    a prof:Profile ;  # use this type to get binding to prof properties,
			     # it is a subtype of dct:Standard, brings in dct properties 
    dct:title "Standard X" ;
    prof:hasResource ex1:SX-RS_1 .  # use this because we want a qualified association			

ex1:SX-RS_1
    a prof:ResourceDescriptor ;		# use this type to assign role, and bind to distributions (via hasArtifact)
	dct:isRequiredBy ex1:Standard_X          # other relations to the described standard
						# need to be accounted for, e.g. guidance, example, visualization
						# could just use dct:subject for starters
         prof:hasRole role:fullConstraints ;      # this ResourceDescriptor is the total set of
                                             # constraints needed for validating data
                                             # against Standard X for conformance
    #there are two equivalent representations of the validation rules:
	prof:hasArtifact [
		a dcat:Distribution ;
		dct:conformsTo <http://www.w3.org/ns/shex#> ;  # the SHEX standard
		dct:format <https://w3id.org/mediatype/text/jsonld> ;  # the JSON-LD serialization
		dcat:accessURL <constraints.jsonld> 
		] ;
	
	prof:hasArtifact [
		a dcat:Distribution ;
		dct:conformsTo <http://www.w3.org/ns/shacl#> ;  # the SHACL standard
		dct:format <https://w3id.org/mediatype/text/turtle> ;  # the RDF Turtle format
		dcat:accessURL <constraints.ttl>	
	] .

# then, a profile of Standard X:  Profile Y

ex2:Profile_Y
    a prof:Profile ;
    dct:title "Profile Y" ;
    prof:isProfileOf ex1:Standard_X ;  # this is a profile of Standard X
    prof:hasResource ex1:SX-RS_1 ;
    prof:hasResource [
        a prof:ResourceDescriptor ;  # PY-RS_3 in diagram. This is not inherited from anywhere
		dct:isRequiredBy ex2:Profile_Y ;
        dct:conformsTo <http://www.w3.org/ns/shacl#> ;
        dct:format <https://w3id.org/mediatype/text/turtle> ;
        # these constraints are Profile Y's on top of Standard X's
        prof:hasRole role:extensionConstraints ;  # Extension Constraints are those on top of
                                                  # another base specification's
        prof:hasArtifact [
			a dcat:Distribution ;
			dct:conformsTo <http://www.w3.org/ns/shacl#> ;  # the SHACL standard
			dct:format <https://w3id.org/mediatype/text/turtle> ;  # the RDF Turtle format
			dcat:accessURL <extension_constraints.ttl>	
	] ;
	prof:hasResource [
		a prof:ResourceDescriptor ;  # PY-RS_3. This is not inherited from anywhere
		dct:subject ex2:Profile_Y ;
        prof:hasRole role:guidance ;
		prof:hasArtifact [
			a dcat:Distribution ;
			dct:format <ms-word> ;  # Microsoft word document
			dcat:accessURL <profileguidance.doc>	
			] ;
		prof:hasArtifact [
			a dcat:Distribution ;
			dct:format <adobe pdf> ;  # adobe acrobat document
			dcat:accessURL <profileguidance.pdf>	
			]
	].
```

-- 
GitHub Notification of comment by smrgeoinfo
Please view or discuss this issue at https://github.com/w3c/dxwg/issues/642#issuecomment-461122975 using your GitHub account
Received on Wednesday, 6 February 2019 18:00:10 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:42:12 UTC