[ 
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)

Reply via email to