[
https://issues.apache.org/jira/browse/JENA-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne reassigned JENA-2169:
-----------------------------------
Assignee: Andy Seaborne
> Dataset interface should support blank node labels for graphs
> -------------------------------------------------------------
>
> Key: JENA-2169
> URL: https://issues.apache.org/jira/browse/JENA-2169
> Project: Apache Jena
> Issue Type: Improvement
> Reporter: Jan Martin Keil
> Assignee: Andy Seaborne
> Priority: Major
>
> The Recommendations [RDF 1.1
> TriG|https://www.w3.org/TR/trig/#sec-graph-statements] and [RDF 1.1
> N-Quads|https://www.w3.org/TR/n-quads/#simple-triples] permit blank nodes as
> graph labels in datasets. However, this is not supported in Apache Jena. To
> add support for blank node labels, the interface
> {color:#0747a6}{{org.apache.jena.query.Dataset}}{color} and it's implementing
> classes would need new methods corresponding to the following methods:
> * {color:#0747a6}{{public Model getNamedModel(String uri)}}{color} -> e.g.
> {color:#0747a6}{{public Model getLabeledModel(Resource label)}}{color}
> * {color:#0747a6}{{public Dataset addNamedModel(String uri, Model
> model);}}{color} -> e.g. {color:#0747a6}{{public Dataset
> addLabeledModel(Resource label, Model model);}}{color}
> * {color:#0747a6}{{public Dataset removeNamedModel(String uri);}}{color} ->
> e.g. {color:#0747a6}{{public Dataset removeLabeledModel(Resource
> label);}}{color}
> * {color:#0747a6}{{public Dataset replaceNamedModel(String uri, Model
> model);}}{color} -> e.g. {color:#0747a6}{{public Dataset
> replaceLabeledModel(Resource label, Model model);}}{color}
> * {color:#0747a6}{{public Iterator<String> listNames()}}{color} -> e.g.
> {color:#0747a6}{{public Iterator<Resource> listGraphLabels()}}{color}
> This has real *use cases*: If labeled graphs are used to track the provenance
> of statements, as e.g. proposed in the Working Group Note [Data on the Web
> Best Practices: Data Quality Vocabulary|https://www.w3.org/TR/vocab-dqv/],
> minting an URL is not always appropriate. The current *workaround* is to mint
> a IRI, e.g. based on an UUID.
> However, there might also be *drawbacks*: The [SPARQL 1.1
> Recomendation|https://www.w3.org/TR/sparql11-query/#rGraphRef] permits only
> IRIs as graph labels. Graphs with blank node labels might become inaccessible
> within SPARQL. But that is probably (didn't test it yet) the same situation
> as after importing TriG or N-Quads files with blank node graph labels. (A
> shortcoming of SPARQL 1.1 worth to put on [https://github.com/w3c/sparql-12]?)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)