- 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