-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect use of the dct:conformsTo property? (+Possible solution) #230
Comments
Hi Bas, thank for reaching out. This issue bothered me since we started the development of the FDP, some 6 years ago. My issue was that it was not clear to me whether the DCAT class represent the "thing" or the metadata record of the "thing". If it would be the "thing", then where can we have some properties of the metadata record? E.g., a dataset may have been created by John but the metadata record of that dataset may have been created by Mary. To address that in a very quick and dirty way we have predicates like metadataIssued, metadataModified, etc. But I was never happy with this solution as they mix properties of two different entities in the same block. Recently, as I was writing a paper describing the current status of the FDP this issue came back to my mind and I felt the need to solve it. I already discussed the solution with the team and we will add to the upcoming Sprint. In summary we will assume that the DCAT classes refer to the target object and we create another type of class named MetadataRecord that points to the object using the predicate isMetadataOf (as per FAIR principle F3). In this way the class MetadataRecord contains the properties of the metadata record of the object such as the author, date of creation, data of last modification, etc. while the properties of the object (e.g., dcat:Catalog, dcat:Dataset or any sub-class of cat:Resource) are expressed in the object block, under its own identifier. Something like:
Regarding the conformsTo, we have contacted the DCAT editors on how to properly use it. They instructed us that the conformsTo predicate should point to a profile and, in that profile we can point to, for instance, a schema. Since our intention in the FDP is to have every metadata record to inform which schema it conforms to for, among other reasons, validation, we inform in the profile that the schema (in SHACL) is used with the validation role. |
Hello,
I think I have found a problem in the FAIR Data Point specifications and I have a possible solution. This is the problem (It's quite a long story, but that's because the problem is also quite complex.):
An HTTP request to a FAIR data point for a Catalog, Dataset, Distribution etc. returns RDF data containing triples describing the resource. Since the data returned for the URL is not the resource itself but its description, I think the statement
<https://fdp.example.org/distribution/[GUID]> a dcat:Distribution .
for example is not correct. To solve this problem, one can distinguish between the resource and its description by using a hash URI or a 303 URI (see: link). So for example<https://fdp.example.org/distribution/[GUID]#this>
for a Distribution resource and<https://fdp.example.org/distribution/[GUID]>
for its description. This will make the statement<https://fdp.example.org/distribution/[GUID]#this> a dcat:Distribution .
. Since the profile returned when accessinghttps://fdp.example.org/profile/[GUID]
describes the RDF graph returned when accessinghttps://fdp.example.org/distribution/[GUID]
, the statement<https://fdp.example.org/distribution/[GUID]> dcterms:conformsTo <https://fdp.example.org/profile/[GUID]> .
does seem correct to me.I ran into this problem when I was trying to specify the structure of a Distribution more precisely (for example, by specifying a JSON schema for a JSON resource). The
dct:conforms
property seems to be the right property for this purpose, but I noticed it was already used for the profiles. After reading the DCAT standard, the use ofdct:conforms
in DCAT remained rather unclear to me. I found a discussion on this topic in the DCAT GitHub-repository of the W3C Dataset Exchange Working Group (w3c/dxwg#1130) that clarified this for me. Thedct:conforms
property of adcat:CatalogRecord
instance seems to be the way to specify the profile. One issue I see is that the value offoaf:primaryTopic
for adcat:CatalogRecord
instance is by definition adcat:Resource
and this seems to be a problem because for example adcat:Distribution
doesn't need to be adcat:Resource
. Also, I'm not sure if adcat:CatalogRecord
is a Web document. (So can the URI<https://fdp.example.org/distribution/[GUID]>
point to an instance ofdcat:CatalogRecord
?). I think both issues don't need to be a real problem and it makes sense to write:I'm curious about your thoughts on this.
Regards,
Bas Harmsen
PS A while ago I created an issue for this in the FAIRDataPoint-Spec repository (FAIRDataTeam/FAIRDataPoint-Spec#20) but later I noticed that https://specs.fairdatapoint.org/ points to this repository instead. In addition, I have described the issue in more detail.
The text was updated successfully, but these errors were encountered: