-
Notifications
You must be signed in to change notification settings - Fork 46
Description
core case (as-a-I-want-so-that format)
As a ro-crate systems dev and/or usage steward with affinity to RDF ,
I want to advise and guide people on how to optimally include additional triples into the ro-crates
so that consumption of the ro-crate-metadata in RDF-aware processing is kept straightforward without overwhelming the scope and sice of the core metadata.json file
examples
Trying to list a number of cases that will produce different associated triples that are (or we would to have) associated to the ro-crate content
- some
ro-crate-md-as-dcat.ttlcontent holdingdcat:...variant triples of the metadata- either to support clients that don´t process
schema:...as fluently as we would want - or keep control on how otherwise the schema-2-dcat mapping happens
- either to support clients that don´t process
- include
**/*-prov-o.trigfiles that are capturing provenance tracking info on the crate as a whole, or itshasParts - include data-level as graphs in the shape of an actual semantically-uplifted alternative-distribution derived from composing csv files into a
full-content.jsonld - include a croissantML discription for direct usage of the crate in some ML tool
others interested
This came up during a recent discussion with @esgg and @dgarijo
suggestions
Haven't given it much thought yet, surely details will need attention, but tapping into the wisdom of the community first.
To fuel reaction, I am not to shy to throw in some rough suggestions on how to deal with this.
Note that some of these ignore the premise that we would even need anything new for this. Still, having that as an explicit statement out is appreciated.
option 1 -- Just add the triples to the ro-crate-metadata.json
And simply suppress any bad vibes you might perceive from a potential extension of size or scope. If you ever get complaints you can still fix it through one of the other suggestions (which ignores the fact that people rather pass out on using your stuff than actually complain...)
option 2 -- Only add some strategic reference-triples and rely on rdf-dereferencing and make 'accessible' references to self-contained
Put any extra @id reference in the core @graph: [... ] and just make it point to any of these extra sources of triples. That technique works regardless if these are also provided by the ro-crate or not.
Optinally (or not?)
- these can also get some extra properties (mime-type or profile),
- these are explicitly put in the
hasPartchain down from the root-data-entity
option 3 -- Forcefully include and mark these content parts
We require these additional RDF files to be listed in the hasPart chain as composing files.
Their individual role/expected content structure should be declared formally through a dc:conformsTo <profile>
Additionally we also introduce a clear marker-profile e.g. https://w3id.org/ro/crate/1.2#extra that labels these as "extensions to the ro-crate-provided-graph"
Ending up in maybe:
{ "@context": "https://w3id.org/ro/crate/1.2/context",
"@graph": [
{
"@type": "CreativeWork",
"@id": "ro-crate-metadata.json",
"about": {"@id": "./"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.2"}
},
{
"@id": "./",
"@type": "Dataset",
"hasPart": [
{"@id": "./extra-triples.ttl"}
]
},
{
"@id": "./extra-triples.ttl",
"conformsTo": [{"@id": "https://w3id.org/ro/crate/1.2#extra"}, {"@id": "urn:some:other:role"},
},
]
}
option 4 -- Make 'the ro-crate-metadata description' composable
As an alternative to the above we could question if it is not more natural to consider 'these self-contained sources of more triples' as being parts of the metadata, and no tof the root-data-entry ?
so rather moving that hasPart relation up, which makes the marking-by-some-profile obsolete:
{ "@context": "https://w3id.org/ro/crate/1.2/context",
"@graph": [
{
"@type": "CreativeWork",
"@id": "ro-crate-metadata.json",
"about": {"@id": "./"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.2"}
"hasPart": [
{"@id": "./extra-triples.ttl"}
]
},
{
"@id": "./",
"@type": "Dataset",
...
},
{
"@id": "./extra-triples.ttl",
...
},
]
}