ResearchObject / ro-crate

Research Object Crate
https://w3id.org/ro/crate/
Apache License 2.0
79 stars 34 forks source link

Use Case: Preserve order of creators #26

Open ptsefton opened 5 years ago

ptsefton commented 5 years ago

As a Researcher, I want the order of creators to be preserved so that academic norms for assigning credit are assumed.

This could be implemented using @list - if we define the context:

"author": { "@id": "http://schema.org/author", "@container": "@list" }

I suggest we consider doing this for ALL terms - and also the @graph if that's legal to ensure that the Root Dataset can be placed first - potentially speeding up processing time for implementers.

IMPLEMENTATION NOTE: Most naive implementers are likely to treat JSON-LD as plain JSON in which ordering is preserved as author (and other) lists will be arrays, where order is preserved - this should ensure that when round tripping into other formats such as RDF, this expectation is met.

ptsefton commented 5 years ago

See this example in the playground

eocarragain commented 5 years ago

Discussed this on Editor's call 2019-08-08. Agreed this was a good idea for authors/creators and potentially other properties, including:

Alternatively, we could say to use the ordering keyword for properties that you want ordered.

ptsefton commented 5 years ago

I did a little experiment here:

Looks like defining a second term hasPartOrdered (and hasMemberOrdered for PCDM) will work - in the playground this produces ordered RDF. I think author, contributor and creator should all be @list as that is the scholarly norm and maybe we add variants for (at leastO hasPart, hasMember, exifData and additionalProperty.