There are several disconnects here that I think need to be straightened out
all at once.


   -


The model.getSeq/Alt/Bag( resource ) assumes that the resource exists but
if it doesn't it creates it in the model.
The model.getSeq/Alt/Bag( resource ) assumes that the resource exists but
if it doesn't it creates it in the model.

to exists but if it doesn't it does not create it as expected (in the
model).  I think should either fail (big change not recommended by me) or
correctly create the object.  Currently it creates the object in the model
of the resource not the model of the getSeq/Alt/Bag call.  I also note that
the documentation states that "Subsequent operations on the returned Alt
may modify this model."   This would lead one to believe that the model of
the resulting Seq/Alt/Bag is the model on which the getX() was called.

The getSeq/Alt/Bag when called with a string correctly creates the object
in the model.

getSeq/Alt/Bag differs from getResource() where  the documentation states:

Return a Resource instance with the given URI in this model. *This method
behaves identically to createResource(String)* and exists as legacy:
createResource is now capable of, and allowed to, reuse existing objects.

I believe the getSeq/Alt/Bag( resource ) should have similar documentation.
 I suspect that this is an artifact of the change alluded to in
createResource() documentation.


My suggestion is:

   1. to change the model.getSeq/Alt/Bag( resource ) to operate exactly
   like the model.createSeq/Alt/Bag( resource ).
   2. to alter the documentation to align it with the comments for
   model.getResource()

This

   1. pulls the string version and resource versions of the getSeq/Alt/Bag
   in alignment with each other.
   2. brings the overall operation of similarly named methods at the model
   level in alignment with each other.
   3.










On Wed, Sep 25, 2013 at 11:21 AM, Andy Seaborne <[email protected]> wrote:

> On 23/09/13 18:15, Claude Warren (JIRA) wrote:
>
>> Claude Warren created JENA-543:
>> ------------------------------**----
>>
>>               Summary: Seq created from resource in another model results
>> in Seq from the wrong model.
>>                   Key: JENA-543
>>                   URL: 
>> https://issues.apache.org/**jira/browse/JENA-543<https://issues.apache.org/jira/browse/JENA-543>
>>               Project: Apache Jena
>>            Issue Type: Bug
>>            Components: Jena
>>      Affects Versions: Jena 2.11.0
>>              Reporter: Claude Warren
>>
>>
>> Create model 1.
>> Create a resource in model 1
>>
>> Create model 2
>> call Seq s = model2.getSeq( resource )
>>
>> s.getModel() == model1 is true
>> s.getModel() == model2 is false
>>
>> s.getModel() should return model2
>>
>
> A general point here - this is a proposed chnage to the functionality of
> the RDF API.  I tend towards expecting the model to be model m2 but at the
> same time I see that it has been the other way for quite sometime.
>
> Should it be changed or do we accept that it is what it is?
>
> Is is really a matter of javadoc?
>
> There is a hint in:
>
> """
> The Seq is assumed to already exist in the model. If it does not,
> createAlt should be used instead.
> """
>
>         Andy
>
>


-- 
I like: Like Like - The likeliest place on the web<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to