- From: Jerven Bolleman <jerven.bolleman@sib.swiss>
- Date: Wed, 21 Nov 2018 16:26:59 +0100
- To: ljgarcia <ljgarcia@ebi.ac.uk>
- Cc: public-bioschemas@w3.org
Hi Melanie, Leyla, I see the error in my reply. You want to say the anonymous mainEntity is a schema:Sample and a OBI:0000747 at the same time. Then you want to use this { "@context": [ "http://schema.org", { "OBI" :"http://purl.obolibrary.org/obo/OBI_" }], "@type": "DataRecord", "@id": "biosample:SAMEA100000", "mainEntity": { "@type" : ["Sample","OBI:0000747"] } } There may be or may not be a file somewhere that relates the schema;Sample to OBI:0000747 in some way in the future but this is not expressible in a context in JSON-LD (not now in 1.0 nor in 1.1) Regards, Jerven On 11/21/2018 03:45 PM, ljgarcia wrote: > Hi Melanie, > > I do not see why you would need the second local context in your example. > > Now, regarding http://purl.obolibrary.org/obo/OBI_0000747. Are you > trying to express that schema:Sample is somehow "inspired/based" on > http://purl.obolibrary.org/obo/OBI_0000747? If yes, you do not need to > add it here. That will be expressed somehow as part of the Sample > definition is schema.org. The "somehow" way to express it, I think has > not been agreed yet, it would be a property such as "baseOn", > "equivalentTo" or so. > > Kind regards, > > On 2018-11-21 14:00, Jerven Bolleman wrote: >> Hi Melanie, >> >> I think you want to do this. >> >> { >> "@context": [ "http://schema.org", >> { >> "OBI" :"http://purl.obolibrary.org/obo/OBI_" >> } >> ], >> "@type": "DataRecord", >> "@id": "biosample:SAMEA100000", >> "mainEntity": { >> "@type" : "OBI:0000747" >> } >> } >> >> Here we start with merging two contexts. The standard schema.org and >> one just for your file. Here trying to make the OBI one easier to >> read. >> >> So your top level is a DataRecord linked via schema:mainEntity to >> something with type "OBI:0000747". >> >> You can see what a JSON-LD snipit means in RDF at >> https://json-ld.org/playground/ e.g. http://tinyurl.com/y9ccen2j >> >> >> I am repeating myself here but in additionalType is only for the >> MicroData serialization which no one in the bioschema space seems to >> use. >> >> If you have more than one type just do >> >> { >> "@context": [ "http://schema.org", >> { >> "OBI" :"http://purl.obolibrary.org/obo/OBI_" >> } >> ], >> "@type": [ "DataRecord", "Thing", "WebPage" ], >> "@id": "biosample:SAMEA100000", >> "mainEntity": { >> "@type" : "OBI:0000747" >> } >> } >> >> To be honest I don't like the DataRecord at all and am still >> advocating it's removal from bioschema. Mostly because schema.org >> doesn't have StoreRecord, just Store. >> >> Regards, >> Jerven >> >> PS Alasdair, Leyla maybe remove additionalType considering the >> confusion it has generated and we have no Microdata examples. >> >> On 11/21/2018 02:40 PM, Melanie Courtot wrote: >>> Hi, >>> >>> Hi - following up discussions at the BioHackathon we’re looking at >>> updating our sample serialisation. We are running into some questions >>> with respect to the context usage and are hoping someone can help. >>> >>> Specifically, I’m trying to understand the usage of contexts and base >>> IRIS - I’m familiar with XML base and namespaces as well as RDF, but >>> I was looking at some schema.org <http://schema.org> JSON-LD and >>> trying to understand nuances based on the official spec at >>> https://www.w3.org/TR/json-ld/#the-context >>> >>> Here is the relevant excerpt from our serialisation: >>> >>> { >>> "@context": "http://schema.org", >>> "@type": "DataRecord", >>> "identifier": "biosample:SAMEA100000", >>> "mainEntity": { >>> "@context": [ >>> "http://schema.org", >>> { >>> "@base": "http://schema.org" >>> }, >>> { >>> "Sample": { >>> "@id": "http://purl.obolibrary.org/obo/OBI_0000747" >>> } >>> } >>> ], >>> …. >>> >>> >>> As you can see there is a repetition of contexts and base that I >>> don’t think is needed. >>> >>> 1. The first context, which is at the top level in our sample page, >>> seems to match example 4 from the spec, and would actually be a >>> reference to another json-ld context? Though it doesn’t point to a >>> json-ld file. I couldn’t find this specific notation anywhere else in >>> the JSON-LD spec, but this is what is used throughout on schema.org >>> <http://schema.org>, eg https://schema.org/Person, example 1 in json-ld. >>> >>> 2. The whole page is a DataRecord (where DataRecord is a new type we >>> are proposing to schema.org <http://schema.org>, so should expand to >>> http://schema.org/DataRecord) - which is expected as we want to >>> describe a data record in our resource, and we then describe the >>> mainEntity in that DataRecord. >>> As you can see, the context is redefined in mainEntity - my >>> understanding is that this means this specific context declaration >>> will be valid only within the scope of that mainEntity. This context >>> reads >>> >>> "@context": [ >>> "http://schema.org", >>> { >>> "@base": "http://schema.org" >>> }, >>> >>> I don’t understand what the first "http://schema.org” means, and >>> whether it’s needed as we explicitly define the base. Also this seems >>> redundant with the global page context we have defined at the page >>> level, so I’d be tempted to just have >>> >>> "@context": { >>> "@base": "http://schema.org" >>> }, >>> >>> At the top level. >>> >>> 3. Finally, we are trying to say that http://schema.org/Sample (which >>> is a new type we’re proposing) also has the IRI >>> "http://purl.obolibrary.org/obo/OBI_0000747”. I’m not sure adding >>> >>> { >>> "Sample": { >>> "@id": "http://purl.obolibrary.org/obo/OBI_0000747" >>> } >>> >>> In the context is the right way of doing it, or whether we should >>> just add an additionalType >>> <https://schema.org/additionalType> property on the sample object >>> later on - or should we do both? >>> >>> Apologies for the rather long email, but I hope we have a JSON-LD >>> specialist on this list that can provide some guidance as to how we >>> should best use those. Thanks in advance for any help! >>> >>> Cheers, >>> Melanie >>> >>> >>> >>> >>> -- Mélanie Courtot, PhD >>> GA4GH/BioSamples Project lead >>> European Bioinformatics Institute (EMBL-EBI) >>>
Received on Wednesday, 21 November 2018 15:27:28 UTC