[ 
https://issues.apache.org/jira/browse/JENA-2344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17577416#comment-17577416
 ] 

Andy Seaborne commented on JENA-2344:
-------------------------------------

If you set the prefixes in the data, then the JSON-LD writer will use those for 
the context where legal.
 
{noformat}
PREFIX foo: 
<https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/>
[] 
<https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/category>
 'meter' .
{noformat}
gives:
{noformat}
{
    "@id": "_:b0",
    "foo:category": "meter",
    "@context": {
        "foo": 
"https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/";
    }
}
{noformat}

We also have an issue awaiting contribution: 
[https://github.com/apache/jena/issues/1386]

 

> Invalid JSON-LD context generated for CONSTRUCT query
> -----------------------------------------------------
>
>                 Key: JENA-2344
>                 URL: https://issues.apache.org/jira/browse/JENA-2344
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ, Fuseki, JSON-LD
>    Affects Versions: Jena 4.1.0, Jena 4.5.0
>            Reporter: Stefan Bischof
>            Priority: Major
>
> For URIs having a slash / in the fragment identifier an invalid JSON-LD 
> context is generated.
>  
> Steps to reproduce:
>  # Add a triple with with a slash in the fragment identifier to some graph, 
> e.g., "[] 
> <[https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/category]>
>  "meter" .
>  # Retrieve the triple in a CONSTRUCT query, e.g., CONSTRUCT WHERE \{ ?s ?p 
> ?o }
>  # Set "Accept" header in HTTP call or "Content-Type (Graph)" in Fuseki WebUI
>  # The context at the end of the response includes the invalid key 
> "/definitions/category"
> {
>   "@id" : "_:b0",
>   "/definitions/category" : "meter",
>   "@context" : {
>     "/definitions/category" : {
>       "@id" : 
> "https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/category";
>     }
>   }
> }
>  
> Although I couldn't find a formal grammar for JSON-LD, the python parser I 
> used and the parser on the JSON-LD playground 
> [https://json-ld.org/playground/] did not accept this: jsonld.SyntaxError: 
> Invalid JSON-LD syntax; term in form of IRI must expand to definition.
> I could replicate the same behaviour on the cli with ARQ 4.5.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to