Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [higgins-dev] Editing multi-valued attributes (was Re: Some changesto IdAS proposal)

I think you're right.  I remember us coming to the agreement that the model would allow for both multiple same attributes (where each attribute is differentiated by metadata), as well as multiple values (and the IdAS APIS now bear that out).  I need to dig deeper to see how these two types of "multiples" would be represented in an RDF example.
 
Jim

>>> Valery Kokhan <vkokhan@xxxxxxxxxxxxxx> 2/27/07 3:22 PM >>>
But actually it means that we rather have two attributes with single
value each then single attribute with two values...

> Yeah, actually you can extrapolate from
> http://wiki.eclipse.org/index.php/Person-with-address_Example_Context_Ontology

> I think it would look something like this:

> <pwa:Person rdf:about="urn:mary">
>   <pwa:postalAdress rdf:resource="urn:homeAddress"/>
>   <pwa:postalAdress rdf:resource="urn:workAddress"/>
> </pwa:Person>
> <pwa:PostalAddress rdf:about="urn:homeAddress">
>   <pwa:city>Provo</pwa:city>
>   <pwa:country>USA</pwa:country>
>   <pwa:postalCode>12345</pwa:postalCode>
>   <pwa:state>Utah</pwa:state>
>   <pwa:streetAddress>123 Main St.</pwa:streetAddress>
> </pwa:PostalAddress>

> <pwa:PostalAddress rdf:about="urn:workAddress">
>   <pwa:city>Provo</pwa:city>
>   <pwa:country>USA</pwa:country>
>   <pwa:postalCode>12345</pwa:postalCode>
>   <pwa:state>Utah</pwa:state>
>   <pwa:streetAddress>555 Research Park</pwa:streetAddress>
> </pwa:PostalAddress>


>>>> "Sergey Lyakhov" <slyakhov@xxxxxxxxxxxxxx> 2/27/07 7:29 AM >>>


> Jim,

>> For (c), why are we unable to set more than one complex value for an attribute?

> Let's assume that we use
> http://www.eclipse.org/higgins/ontologies/2006/person-with-address.owl schema.
> In this case we have one Person with <pwa:postalAddress> complex attribute as below:


> <pwa:Person>

>     <pwa:postalAddress>
>          <pwa:PostalAddress>
>               <pwa:city>Provo</pwa:city>
>               <pwa:country>USA</pwa:country>
>          </pwa:PostalAddress>
>     </pwa:postalAddress>
> </pwa:Person>

> Individual <pwa:PostalAddress> represents the complex value
> (where <pwa:city> and <pwa:country> are properties of this value).
> So, to set more than one complex value we need to set for the Person
> a few individuals of <pwa:PostalAddress> (that is to create a few
> different attributes) or to set all properties of complex values to
> the same individual </pwa:PostalAddress> (to mix properties of
> different values). Is there some other way that I should use?



> Thanks,
> Sergey Lyakhov


> ----- Original Message -----

> From: Jim Sermersheim

> To: 'Higgins (Trust Framework) Project developer discussions'

> Sent: Tuesday, February 27, 2007 1:43 AM

> Subject: [higgins-dev] Editing multi-valued attributes (was Re: Some changesto IdAS proposal)



> Hey Sergey,



> I'm going to make threads for each of these

>>1. I propose to remove the method getValues() from IProperty interface.
>>There are some reasons to do it:
>>
>>a)    We need to be able to change a value of Attribute (that extends
>>IProperty interface), but we can't say exactly which value will be changed
>>in case if Attibute has two or more values;
>>b)    we can't foreknow which value will be returned by getValue() method if
>>Attibute has two or more values;
>>c)    this method (getValues()) has no any sense in case of complex value
>>because we unable to set more then one complex value for attribute;

> For (a), yes, this is a problem with the current way update APIs
> are defined.  Update APIs need to be fixed.  We've been talking for
> some time about refactoring update operations such that one can
> build up sets of modifications.  In such a model, to change a
> particular value one would perform an update operation on a digital
> subject, where the update set contained two modifications.  For
> example, let's say there's an attribute called "phoneNumber" and it
> has two values "888-525-1111" and "888-332-8471".  One would build an update set like this:

> { delete("phoneNumber", "888-525-1111"), add("phoneNumber",
> "888-555-1212") }.  This is just an abstraction of the update set
> argument. The intent is to allow multiple sub-updates to be grouped
> as an atomic update operation.  It works well because it not only
> lets us specify *which* value we're working with, it also allows us
> to assert that a particular value exists prior to being changed.



> For (b), I don't know that anyone likes this method.  It has been
> suggested a number of times to just delete it.  I'm beginning to prefer this as well.



> For (c), why are we unable to set more than one complex value for an attribute?



> Jim



>  
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev


>  


Back to the top