- From: Vladimir Alexiev <vladimir.alexiev@ontotext.com>
- Date: Thu, 17 Nov 2022 17:07:19 +0200
- To: Roman Evstifeev <someuniquename@gmail.com>
- Cc: Paul Tyson <phtyson@sbcglobal.net>, public-json-ld@w3.org
- Message-ID: <CAMv+wg6hUS9fw45bhRWGZ_TuyrpUezq0Yhthr1x6hKe+W-vFvw@mail.gmail.com>
Thanks Roman! Good trick. I've used nested contexts in EPCIS 2, but scoped by class. That assumes ex:thing4/ex:foo is consistently always the same kind of literal. The way I understood Paul is that ex:foo is to be distinguished by value, not by place of use (context). On Thu, Nov 17, 2022 at 4:24 PM Roman Evstifeev <someuniquename@gmail.com> wrote: > On Thu, 17 Nov 2022 at 06:24, Paul Tyson <phtyson@sbcglobal.net> wrote: > > > > I have a property that can take any type of RDF term as a value. > > > > { > > "@context": { > > "ex": "http://example.org/ns/", > > }, > > "ex:thing1": {"ex:foo": 1}, > > "ex:thing2": {"ex:foo": "a string"}, > > "ex:thing3": {"ex:foo": "http://example.org/yugo"} > > "ex:thing4": {"ex:foo": "2022-11-16T21:04:41"} > > } > > > > Is there any way to construct the context to make this come out in RDF > like: > > > > _:b0 <http://example.org/ns/thing1> _:b1 . > > _:b0 <http://example.org/ns/thing2> _:b2 . > > _:b0 <http://example.org/ns/thing3> _:b3 . > > _:b0 <http://example.org/ns/thing4> _:b4 . > > _:b1 <http://example.org/ns/foo> > > "1"^^<http://www.w3.org/2001/XMLSchema#integer> . > > _:b2 <http://example.org/ns/foo> "a string" . > > _:b3 <http://example.org/ns/foo> <http://example.org/yugo> . > > _:b4 <http://example.org/ns/foo> > > "2022-11-16T21:04:41"^^<http://www.w3.org/2001/XMLSchema#dateTime> . > > > > Thanks and regards, > > --Paul > > > > > > You can use property-scoped context: > > { > "@context": { > "ex": "http://example.org/ns/", > "xsd": "http://www.w3.org/2001/XMLSchema#", > "ex:thing3": { > "@context": { > "ex:foo": { > "@type": "@id" > } > } > }, > "ex:thing4": { > "@context": { > "ex:foo": { > "@type": "xsd:dateTime" > } > } > } > > }, > "ex:thing1": {"ex:foo": 1}, > "ex:thing2": {"ex:foo": "a string"}, > "ex:thing3": {"ex:foo": "http://example.org/yugo"}, > "ex:thing4": {"ex:foo": "2022-11-16T21:04:41"} > } > > json-ld playground: https://tinyurl.com/dwpf68db > >
Received on Thursday, 17 November 2022 15:07:44 UTC