good idea, thanks. The availability of the more “advanced” parameters could 
maybe then depend on the variant: for instance, there is no context to provide 
when the output form is “expand”

fps

> Le 12 avr. 2016 à 11:11, Rob Vesse <[email protected]> a écrit :
> 
> Another option to provide a more basic customisation is to simply define 
> several language variants as is done with turtle currently where each variant 
> would be mapped to a JSOn-LD writer with some appropriate default settings.
> 
> So for example you might have a compacted variant which would configure the 
> writer to output compact output
> 
> 
> 
> On 12/04/2016 09:36, "François-Paul Servant" <[email protected]> 
> wrote:
> 
>> Hi,
>> 
>>> There isn't a way to style the output in Jena. It would nice to have 
>>> something that is general, robust and pretty. (anyone want to have a go?)
>> 
>> “general, robust and pretty” is probably to hard for me, but I could try 
>> something.
>> 
>> I have looked at the code.
>> 
>> Regarding robustness, one difficulty comes from the fact that jsonld-java 
>> uses Object as type of most of its arguments in methods
>> 
>> Andy, following your suggestions in the thread already mentioned:
>> 
>> It looks like there is no write methods with the (jena) Context argument in 
>> RDFDataMgr, so it would be necessary to add them.
>> 
>> Then there is the question of the stuff that we want to use to control the 
>> output by jsonld-java. Andy, you suggested to give the possibility to pass 
>> the (jsonld-java) context, and the frame object expected by the framing algo.
>> 
>> I think we could also add the possibility to choose between compacted, 
>> expanded and flattened output form. Maybe also an instance of the 
>> (jsonld-java) options object, that allow to control some more details.
>> 
>> When a param is not passed through the (jena) Context mechanism, we use 
>> sensible defaults (such as those used today): compacted output, creating a 
>> (jsonld-java) context from the defined ns prefixes, and the properties used 
>> in the rdf.
>> 
>> One question is: should we have several Symbols defined (one for each of 
>> these parameters), or only one, supposed to be of a given class (say 
>> “JsonLDWriterParams”). Another one is: what kind of help can be provided to 
>> the user to create instances of the objects expected by jsonld-java. And 
>> where would go the doc about this?
>> 
>> Something that I do not know about (yet) is framing. Some example (data, 
>> @context, frame) to use as a development use case would be helpful
>> 
>> I have some working code. If this makes sense, then I could try to clean it 
>> up and make it available. Nothing before 2-3 weeks, however.
>> 
>> BTW Andy, maybe you remember this:
>> https://github.com/jsonld-java/jsonld-java/issues/141
>> "Invalid JSON-LD if Jena defines an "” prefix"
>> you solved the issue by removing “” prefix when creating the context 
>> expected by jsonld-java. It looks like instead of removing it, you could 
>> replace the “” key by “@vocab” (this is what jsonld-java does somewhere in 
>> their code). I tried it and it seems to work correctly. 
>> 
>> Best,
>> 
>> fps
>> 
>> 
>>> Le 10 avr. 2016 à 22:34, Andy Seaborne <[email protected]> a écrit :
>>> 
>>> On 10/04/16 15:43, François-Paul Servant wrote:
>>>> Hi,
>>>> 
>>>> beside setting the NSPrefixes, are there ways to control the JSON-LD 
>>>> output from Jena? For instance, to choose the format (compact, 
>>>> expanded,…), or to set the context.
>>>> 
>>>> If not, any pointer into the code to get me started quickly?
>>>> 
>>>> I’ve read this old thread on this subject:
>>>> http://users.jena.apache.narkive.com/NF0pn3kq/controlling-json-ld-output
>>>> 
>>>> Best,
>>>> 
>>>> fps
>>>> 
>>>> 
>>> 
>>> Hi,
>>> 
>>> There isn't a way to style the output in Jena. It would nice to have 
>>> something that is general, robust and pretty. (anyone want to have a go?)
>>> 
>>> Alternatively, JSON-LD framing, any toolkit, applied after output from Jena 
>>> as mentioned in the thread, is one thing consider especially if what you 
>>> want is idiomatic JSON for the application domain, that happens to be 
>>> JSON-LD as well.
>>> 
>>>     Andy
>>> 
>> 
> 
> 
> 

Reply via email to