[
https://issues.apache.org/jira/browse/JENA-2016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250412#comment-17250412
]
Andy Seaborne commented on JENA-2016:
-------------------------------------
It comes from jsonld-java as:
It comes from jsonld-java {{JsonUtils.fromInputStream}} as:
{noformat}
{@context={@base=http://example.org/, tag:p={@type=@id}}, tag:p=[foo, 42,
false]}
{noformat}
then is passed into jsonld-java again in {{JsonLdProcessor.toRDF}} and that
passes the callback:
{noformat}
{@default=[
{subject={type=blank node, value=_:b0}, predicate={type=IRI, value=tag:p},
object={type=IRI, value=http://example.org/foo}},
{subject={type=blank node, value=_:b0}, predicate={type=IRI, value=tag:p},
object={type=IRI, value=http://example.org/42}},
{subject={type=blank node, value=_:b0}, predicate={type=IRI, value=tag:p},
object={type=IRI, value=http://example.org/false}
}]}
{noformat}
so somewhere in {{JsonLdProcessor.toRDF}}
> JSON-LD expand problem with `"@type": "@id"`
> --------------------------------------------
>
> Key: JENA-2016
> URL: https://issues.apache.org/jira/browse/JENA-2016
> Project: Apache Jena
> Issue Type: Bug
> Components: RIOT
> Affects Versions: Jena 3.16.0, Jena 3.17.0
> Reporter: Pierre-Antoine Champin
> Priority: Major
>
>
> The following JSON-LD
>
> {code:java}
> {
> "@context": {
> "tag:p": { "@type": "@id" }
> },
> "tag:p": [ "foo", 42, false ]
> }{code}
>
> [ Update - see comment:]
> {code:java}
> {
> "@context": {
> "@base": "http://example.org/",
> "tag:p": { "@type": "@id" }
> },
> "tag:p": [ "foo", 42, false ]
> }{code}
>
> generates the following triples
>
> {code:java}
> _:b0 <tag:p> <file:///tmp/foo> .
> _:b0 <tag:p> <file:///tmp/42> .
> _:b0 <tag:p> <file:///tmp/false> .
> {code}
> while it should generate
>
> {code:java}
> _:b0 <tag:p> <file:///tmp/foo> .
> _:b0 <tag:p> "42"^^<http://www.w3.org/2001/XMLSchema#integer> .
> _:b0 <tag:p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
> {code}
> Indeed, step 1 for the [value expansion
> algorithm|https://w3c.github.io/json-ld-api/#algorithm-5] states that the
> type mapping to `@id` is only considered if the value is a string.
> See for example in the JSON-LD playground:
> [https://json-ld.org/playground/#startTab=tab-nquads&json-ld=%7B%22%40context%22%3A%7B%22tag%3Ap%22%3A%7B%22%40type%22%3A%22%40id%22%7D%7D%2C%22tag%3Ap%22%3A%5B%22foo%22%2C42%2Cfalse%5D%7D]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)