Skip to content
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

Example of a converted DATS metadata record #98

Merged
merged 3 commits into from
Mar 14, 2024
Merged

Example of a converted DATS metadata record #98

merged 3 commits into from
Mar 14, 2024

Conversation

mih
Copy link
Contributor

@mih mih commented Mar 11, 2024

Notes

@jsheunis
Copy link
Contributor

I just looked at the detail of the DATS example and it has loads of subject-specific dataset properties that can't be classified as generic dataset-version properties; basically everything that is currently commented out in the committed example. Can we use a relation to a generic entity for such cases? Would #102 be the approach to follow?

E.g.:

"isAbout": [
        {
              "identifier": {
                        "identifier": "https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=9606",
                                        "identifierSource": "NCBI Taxonomy Database"
              },
              "name":"Homo sapiens"
        },
        {
            "name": "adult"
        }
    ],

Conceptually: how would we include the triple: <dataset-version> <isAbout> <homo sapiens> using the appropriate (c)uri and appropriate (existing?) classes in our schema?

@mih mih force-pushed the ex-dats branch 2 times, most recently from c10f560 to 392b4ff Compare March 13, 2024 13:07
This is simply using a basic implementation of `rdfs:Property`.

This document

```yaml
name: growing-dataset
properties:
  - type: http://purl.obolibrary.org/obo/NCIT_C90437
    label: Planned Number of Female Subjects
    range: xsd:nonNegativeInteger
    value: 54
```

will translate to this set of triples (blank node identifiers shortened)

```ntriples
OBJ0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://concepts.datalad.org/ontology/DatasetVersionObject> .
OBJ0 <https://concepts.datalad.org/ontology/name> "growing-dataset" .
OBJ0 <http://www.w3.org/2000/01/rdf-schema#property> OBJ1 .
OBJ1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Property> .
OBJ1 <http://www.w3.org/2000/01/rdf-schema#type> "http://purl.obolibrary.org/obo/NCIT_C90437"^^<http://www.w3.org/2001/XMLSchema#anyURI> .
OBJ1 <http://www.w3.org/2000/01/rdf-schema#value> "54" .
OBJ1 <http://www.w3.org/2000/01/rdf-schema#label> "Planned Number of Female Subjects" .
OBJ1 <http://www.w3.org/2000/01/rdf-schema#range> "xsd:nonNegativeInteger"^^<http://www.w3.org/2001/XMLSchema#anyURI> .
```
@mih
Copy link
Contributor Author

mih commented Mar 13, 2024

As long as the object in the triple is an Entity the qualified relation pattern should be applicable.

Your example above appears to be a topic relation https://patterns.dataincubator.org/book/topic-relation.html

DCAT also has this built-in.

So what we can do is to use the existing pattern: a place to define the relation entity (relation), and then give it a role via qualified_relation.

Alternatively, we can support primary_topic. Not sure, yet.

The more complex case is when we have no property defined, and the annotation is just a data property (like an integer). 8b39663 proposes an approach for that.

@mih
Copy link
Contributor Author

mih commented Mar 14, 2024

I will merge this now. Before completing the example, I want to write up a document that explains the general ideas (to me).

I feel like there is a danger to become needlessly complex, and we should sharpen the focus a bit to better be able to tell what we need and what not.

@mih mih merged commit fbc8fa3 into main Mar 14, 2024
3 checks passed
@mih mih deleted the ex-dats branch March 14, 2024 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Produce a DATS example
2 participants