Re: type coercion question

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