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

Reply via email to