Comments (1)
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:
<metadataRecordIdentifier> a fdp-o:MetadataRecord;
fdp-o:isMetadataOf fdp:app;
dct:description "This is the metadata record of the my dataset."@en;
dct:license <http://rdflicense.appspot.com/rdflicense/cc-by-nc-nd3.0>;
dct:identifier fdp:app/metadatarecord;
dct:issued "2022-02-15T09:09:40.929Z"^^xsd:dateTime;
dct:modified "2022-02-15T09:09:40.929Z"^^xsd:dateTime ;
dct:conformsTo <MetadataRecordProfileURI> .
<datasetIdentifier> a dcat:Dataset;
fdp-o:hasMetadata <metadataRecordIdentifier> ;
dct:title "My dataset"@en;
dct:description "My test dataset."@en;
dct:language <http://id.loc.gov/vocabulary/iso639-1/en>;
dct:license <http://rdflicense.appspot.com/rdflicense/cc-by-nc-nd4.0>;
dct:conformsTo <DatasetProfileURI>.
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.
from fairdatapoint.
Related Issues (20)
- Q: error on startup HOT 3
- Q: How to get the list of entries from an FDP running as an index HOT 4
- Support sh:class constraints for SHACL validation.
- Connecting EJP RD issues and FAIR Data Team issues
- spring-rdf-migration dependency cannot be collected (FDP v1.17.1)
- https://home.fairdatapoint.org/ throws ERR_SSL_UNRECOGNIZED_NAME_ALERT
- DASH DatePickerEditor: sh:datatype should be xsd:date, but in FDP only sh:dateTime is accepted HOT 1
- relative URLs break index (status) HOT 1
- [Feature request] make re-index button in administrative console skip (5-minute) rate limitation HOT 1
- mixedCase "foaf:homePage" instead of "foaf:homepage" in Catalog Metadata's Form Definition.
- Some API endpoints seems to be missing from Swagger and OpenAPI documentation or not documented at all.
- Docker compose fails on windows due to "/" and "\" differences in paths HOT 1
- No Metadata for the uri HOT 2
- Usage of dct:conformsTo is not correct HOT 1
- Access Rights default is public. Most data is not public
- Connect timed out?
- Update Title and Description shown at http://localhost through the API?
- docker-compose with fairdatapoint:1.17.1 and fairdatapoint-client:1.17.0 -> "Unable to get data." HOT 1
- v1.17.1: cannot login from client? [CORS header ‘Access-Control-Allow-Origin’ missing?] HOT 1
- Q: Should `fdp-o:startDate` be an `xsd:date`, instead of `xsd:dateTime`?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fairdatapoint.