earthcubearchitecture-project418 / p418Docs

Documentation on Project 418. Includes publishing guideline, example JSON-LD, and presentations about the project.
7 stars 2 forks source link

use of sdo:additionalProperty #15

Open smrgeoinfo opened 5 years ago

smrgeoinfo commented 5 years ago

There are various properties that need to be asserted about resource types beyond DataSet that we'd like to include in the EarthCube Resource Registry. See the resource type list and field descriptions.
There are two approaches I'm considering:

  1. just including the properties inline:

"ecrro:usage": "text description of usage"

or using sdo:additionalProperty:

"additionalProperty": { "@type": "PropertyValue", "propertyID": "ecrro:usage", "name": "usage", "value": "free text description of usage" }

In the first approach, the Google Structured Data tester throws errors, which is only really problematic if it keeps google from indexing the SDO descriptions. I think it does, but its not totally clear.

The second approach is more verbose. JSON validation also appears to require putting all the additionalProperty instances in one array, which is not a great problem, but does reduce readability of the JSON doc because you can't order thing neatly grouping like content.

one advantage of second approach is ability to provide a user-intelligible label and an opaque URI for a property, e.g.

"additionalProperty": { "@type": "PropertyValue", "name": "obo:depends on", "propertyID": "http://purl.obolibrary.org/obo/RO_0002502", "value": [ "array of dependency statements" ] }

See also discussion on Schema.org Issue tracker

Any thoughts on these different approaches?