[
https://issues.apache.org/jira/browse/JENA-1447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne updated JENA-1447:
--------------------------------
Description:
Some specialized datasets:
{{DatasetGraphOne}} - a dataset around a single which becomes the default
graph. This is the converter from graphs to datasets. A special case is where
the graph is GraphView from another dataset. The existing {{DatasetGraphOne}}
needs upgrading to map dataset transactions back to the original dataset.
{{DatasetGraphZero}} - a dataset with no named graph and an always-empty
default graph. Convenient to have in place of null pointers.
{{DatasetGraphSink}} - a dataset that accepts updated but ignores them and so
is always empty.
{{TransactionalNull}} - a transactional to reflect the properties of empty
datasets.
In support of these:
{{GraphSink}}, {{GraphZero}}, {{PrefixMappingSink}}, {{PrefixMappingZero}} and
{{TransactionHandlerNull}}.
The graphs do not fully comply with the full {{Graph}} contract:
* {{GraphZero}} throws {{UnsupportedOperationException}}, not
{{AddDeniedException}}/{{DeleteDeniedException}} becaue (1) it is in keeping
with {{DatasetGraphZero}} and (2) {{AddDeniedException}} is dynamic - it make
be thrown in some situations and not others e.g. permissions.
* {{GraphSink}} does not contain triples added.
On naming:
"DatasetGraphZero" might also be "DatasetGraphNull" but {{/dev/null}} is a sink.
was:
Some specialized datasets:
{{DatasetGraphOne}} - a dataset around a single which becomes the default
graph. This is the converter from graphs to datasets. A special case is where
the graph is GraphView from another dataset. The existing {{DatasetGraphOne}}
needs upgrading to map dataset transactions back to the original dataset.
{{DatasetGraphZero}} - a dataset with no named graph and an always-empty
default graph. Convenient to have in place of null pointers.
{{DatasetGraphSink}} - a dataset that accepts updated but ignores them and so
is always empty.
{{TransactionalNull}} - a transactional to reflect the properties of empty
datasets.
In support of these:
{{GraphSink}}, {{GraphZero}}, {{PrefixMappingSink}}, {{PrefixMappingZero}} and
{{TransactionHandlerNull}}.
On naming:
"DatasetGraphZero" might also be "DatasetGraphNull" but {{/dev/null}} is a sink.
> Special case DatasetGraphs
> --------------------------
>
> Key: JENA-1447
> URL: https://issues.apache.org/jira/browse/JENA-1447
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 3.5.0
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
>
> Some specialized datasets:
> {{DatasetGraphOne}} - a dataset around a single which becomes the default
> graph. This is the converter from graphs to datasets. A special case is
> where the graph is GraphView from another dataset. The existing
> {{DatasetGraphOne}} needs upgrading to map dataset transactions back to the
> original dataset.
> {{DatasetGraphZero}} - a dataset with no named graph and an always-empty
> default graph. Convenient to have in place of null pointers.
> {{DatasetGraphSink}} - a dataset that accepts updated but ignores them and so
> is always empty.
> {{TransactionalNull}} - a transactional to reflect the properties of empty
> datasets.
> In support of these:
> {{GraphSink}}, {{GraphZero}}, {{PrefixMappingSink}}, {{PrefixMappingZero}}
> and {{TransactionHandlerNull}}.
> The graphs do not fully comply with the full {{Graph}} contract:
> * {{GraphZero}} throws {{UnsupportedOperationException}}, not
> {{AddDeniedException}}/{{DeleteDeniedException}} becaue (1) it is in keeping
> with {{DatasetGraphZero}} and (2) {{AddDeniedException}} is dynamic - it make
> be thrown in some situations and not others e.g. permissions.
> * {{GraphSink}} does not contain triples added.
> On naming:
> "DatasetGraphZero" might also be "DatasetGraphNull" but {{/dev/null}} is a
> sink.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)