On 01/12/2020 21:15, Jean-Marc Vanel wrote:
> This is fine , I can get all the TDB prefix mappings with:
> dataset.getDefaultModel().getNsPrefixMap() ,
> but I don't see how I can add them to a graph resulting from a SPARQL
query,
You mean CONSTRUCT or DESCRIBE?
Add after return or use the execConstruct(model) form to pass in a model
with prefixes already set.
> in order to write it. I see nothing for this in RDFDataMgr .
RDFDataMgr is a convenience library.
The lower level interface WriterGraphRIOT takes a PrefixMap.
You can get a writer(factory) from the RDFWriterRegistry.
> And then, if I can add them while printing a graph, will the big list
> of prefixes be added,
> or only the prefixes actually used will be printed ?
Declared unless you use PrefixMappingUtils.calcInUsePrefixMapping which
is not so cheap as to automatically run it each time.
Andy
>
> Jean-Marc Vanel
>
<http://semantic-forms.cc:9112/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me>
> +33
> (0)6 89 16 29 52
>
>
> Le mar. 1 déc. 2020 à 21:34, Andy Seaborne <[email protected]> a écrit :
>
>>
>>
>> On 01/12/2020 19:02, Jean-Marc Vanel wrote:
>>> Empty maps are obtained by calling getPrefixMapping() ,
>>> either with a graph from a SPARQL query, or from the Union Graph.
>>
>> Perfect timing!
>>
>> JENA-2006 (in-progress as of 2020-12-01 - PR went in today.
>> adds Dataset.getPrefixMapping() and DatsetGraph.prefixes()
>>
>> For a TDB database, all graphs will have the same prefix map, including
>> the union graph.
>>
>> Currently - 3.17.0 - the dataset prefixes (i.e. as used for output) are
>> held with the default graph. While the code supports additonal prefix
>> sets, they are accssible without going into the implementation.
>>
>> JENA-2006 changes all that.
>>
>>> From a SPARQL query, only possible prefix mappings are from the
query,
>> not
>>> the database.
>>
>> They are on the default graph, if there are any from TriG.
>>
>>> Same thing with
>>> PrefixMappingUtils.calcInUsePrefixMapping(graph)
>>> There is a class called DatasetPrefixesTDB , but it seems a low level
>>> implementation class.
>>> Some code comments imply that a prefixes map is not maintained
>>> permanently ...
>>>
>>> Not yet tested with 3.17.0 .
>>
>> No change.
>>
>> Andy
>>
>>>
>>> Jean-Marc Vanel
>>> <
>>
http://semantic-forms.cc:1952/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me
>>>
>>> +33 (0)6 89 16 29 52
>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>>> Chroniques jardin
>>> <
>>
http://semantic-forms.cc:1952/history?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle
>>>
>>>
>>