Re: [Proposal] CategoryCode as valid type for valueReference for any PropertyValue in Bioschemas/schema.org

Hi all,

I think we are talking about two different things here.

For Samples, directly using additionalProperty seems the easiest option 
as this reduce requirements for small labs providing samples. They do 
not have to agree on any predefined terms or properties, just to provide 
key-value pairs via additionalProperty. Most likely, they will not 
including information regarding a CategoryCode, this one would be added 
whenever possible by BioSamples. @Luca, @Matt, please correct me if I am 
wrong. For the Samples case, it is a +1 on my side for accepting 
CategoryCode as a possible range for valueReference property on 
PropertyValue.

For other groups/profiles, what Justin mentions makes sense and is 
useful. We use that way (or an approximation,I still need to tune a bit 
of things there) in the Protein profile.

What do you think? Do we have two topics here? If so, let's separate 
them first. In any case, I will take a deeper look to Justin's examples 
later, I got a bit lost when I saw SampleDataRecord and also the 
schema:RangeIncludes.

Regards,


On 2018-03-19 17:47, Justin Clark-Casey wrote:
> 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 [1]'s own type specification file.
> 
> Pros:
>   * Using existing validation tools should be easier, as this
> definition uses standard schema.org [1] mechanisms to define
> additional properties, rather than the AdditionalProperty escape
> hatch.
>   * Information such as name and label can go in the bioschemas.org
> [7] file rather than be repeated in the data record text
> 
>   * Easier to put in different language translations to the
> bioschemas.org [7] file
> 
> Cons:
> 
>   * Applications may need to rely the URL itself (purl.org [8] 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" [1],
>> 
>> "@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" [2],
>> 
>> "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" [3],
>> 
>> "codeValue": "D00-D09.9"
>> 
>> }
>> 
>> ]
>> 
>> },
>> I also include the link the schema.org [1] CategoryCode:
>> https://pending.schema.org/CategoryCode [4] and their JSON-LD
>> snippet
>> 
>> * {
>> *  "@context": "http://schema.org/" [5],
>> *  "@type": "CategoryCode",
>> *  "codeValue": "Man",
>> *  "inCodeSet": "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 [1] 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 [1], 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
> 
> 
> 
> Links:
> ------
> [1] http://schema.org
> [2] http://purl.bioontology.org/ontology/ICD10/C00-C97.9
> [3] http://purl.bioontology.org/ontology/ICD10/D00-D09.9
> [4] https://pending.schema.org/CategoryCode
> [5] http://schema.org/
> [6] http://id.loc.gov/vocabulary/resourceTypes
> [7] http://bioschemas.org
> [8] http://purl.org

Received on Monday, 19 March 2018 18:15:12 UTC