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