- From: Justin Clark-Casey <justinccdev@gmail.com>
- Date: Mon, 19 Mar 2018 17:47:27 +0000
- To: Philippe <proccaserra@gmail.com>
- Cc: Luca Cherubin <cherubin@ebi.ac.uk>, public-bioschemas@w3.org
- Message-ID: <CAME9NR_TjjoV5UY_G78R9eQp3K=6EdAJ31cS6jnXTRoG4AhnnQ@mail.gmail.com>
So, last Friday at the Samples event, Leyla, Rafa and myself were talking about the alternative of specifying additional properties using a second context, rather than through AdditionalProperty. The original discussion in November was at [1] but I don't think was fully formalized (and the example links are now broken). But under this approach, I think the above would instead be something like { "@context": ["http://schema.org", "http://bioschemas.org/samples"], "@type": ["SampleDataRecord"], "diagnosisAvailable": [ "http://purl.bioontology.org/ontology/ICD10/C00-C97.9", "http://purl.bioontology.org/ontology/ICD10/D00-D09.9" ] } with http://bioschemas.org/samples as { "@context": { "rdfs": "http://www.w3.org/2000/01/rdf-schema#", }, "@graph": [ "@id"; "http://bioschemas.org/samples", { "@id": "http://bioschemas.org/samples/SampleDataRecord", "@type": "rdfs:Class", "rdfs:subClassOf": { "@id": "http://schema.org/DataRecord" } } { "@id": "http://bioschemas.org/samples/diagnosisAvailable", "@type": "rdfs:Property", "rdfs:label": "Diagnosis available", "http://schema.org/domainIncludes": [ { "@id": "http://bioschemas.org/samples/SamplesDataRecord" }, "http://schema.org/rangeIncludes": [ { "@id", "http://schema.org/URL" } ] } ] } See [2] for schema.org's own type specification file. Pros: * Using existing validation tools should be easier, as this definition uses standard schema.org mechanisms to define additional properties, rather than the AdditionalProperty escape hatch. * Information such as name and label can go in the bioschemas.org file rather than be repeated in the data record text * Easier to put in different language translations to the bioschemas.org file Cons: * Applications may need to rely the URL itself (purl.org above) to retrieve information such as human-readable name for the categoryCode itself (e.g. *"In situ neoplasms"*). This is good semantic web practise I believe, but may reduce reliability. Possibly this information could also be served from http://bioschemas.org as a similar set of property definitions. * Perhaps not quite so easy to add arbitrary additional properties, though a data provider could always define and serve a third context themselves, or embed it inline. Thoughts? Would especially like Leyla (though I know she's on holiday), Rafa, Alasdair, Dan, etc. to weigh in. [1] https://lists.w3.org/Archives/Public/public-bioschemas/2017Nov/thread.html [2] https://schema.org/version/latest/schema.jsonld -- Justin Clark-Casey, http://justincc.org Research Software Engineer, Intermine, Cambridge ELIXIR UK Node technical co-orindator On Mon, Mar 19, 2018 at 11:21 AM, Philippe <proccaserra@gmail.com> wrote: > Hi Luca, > > I am including a snippet from the notes so people can have a feel for how > things could look like: > > * { "@context": "http://schema.org" <http://schema.org>, "@type": > ["DataRecord"], "additionalProperty": [ { "@type": > "PropertyValue", "name": "diagnosis_available", > "value": "urn:miriam:icd:C00-C97", "valueReference": > [ { "@type": "CategoryCode", > "name": "Malignant neoplasms", "url": > "http://purl.bioontology.org/ontology/ICD10/C00-C97.9" > <http://purl.bioontology.org/ontology/ICD10/C00-C97.9>, > "codeValue": "C00-C97.9" } ] > }, { "@type": "PropertyValue", "name": > "diagnosis_available", "value": "urn:miriam:icd:D00-D09", > "valueReference": [ { "@type": > "CategoryCode", "name": "In situ neoplasms", > "url": > "http://purl.bioontology.org/ontology/ICD10/D00-D09.9" > <http://purl.bioontology.org/ontology/ICD10/D00-D09.9>, > "codeValue": "D00-D09.9" } ] > }, * > I also include the link the schema.org CategoryCode: > https://pending.schema.org/CategoryCode and their JSON-LD snippet > > > 1. { > 2. "@context": "http://schema.org/" <http://schema.org/>, > 3. "@type": "CategoryCode", > 4. "codeValue": "Man", > 5. "inCodeSet": "http://id.loc.gov/vocabulary/resourceTypes" > <http://id.loc.gov/vocabulary/resourceTypes> > 6. } > > > > Question: Should 'inCodeSet' attribute be used instead ? > > Best > > Philippe > > > On 19/03/2018 11:10, Luca Cherubin wrote: > > Hi everybody, > > During the Hackathon event last week with various Biobanks representatives > we had the chance to use Bioschemas profiles and types to support BioBanks > use cases for metadata sharing. > > As you may know, in the Sample profile we proposed a solution for linking > ontology terms to a PropertyValue using CategoryCode as valid type for the > valueReference field. Note that CategoryCode is already a proposed > schema.org type but in the bioschemas/samples specification we propose > that it should be an acceptable value for valueReference. > > To support BioBank use cases, we are using DataRecord and they need to use > the same CategoryCode strategy to describe all the PropertyValue associated > with a DataRecord. > > In our opinion this is a very strong use case for supporting the use of > CategoryCode as valid type for valueReference for any PropertyValue in > Bioschemas/schema.org, not only for the Sample profile. We can see this > being very useful in other areas where there is a need for a flexible > linking of ontology terms to values. > > We would like to get your feedback on this. > > Best regards, > > Luca and Matt > > >
Received on Monday, 19 March 2018 17:47:56 UTC