Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [higgins-dev] Empty attributes in the data model

My vote is YES.
________________________________________
From: higgins-dev-bounces@xxxxxxxxxxx
[mailto:higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Jim Sermersheim
Sent: Friday, May 25, 2007 4:08 PM
To: 'Higgins (Trust Framework) Project developer discussions'
Subject: [higgins-dev] Empty attributes in the data model

Sergey's question below is a good one.  More generally, does the removal of
all attribute values constitute the removal of the attribute itself?
 
When IdAS is used to access LDAP/X.500, the answer is always yes. Those
systems have data models which dictate that an attribute void of values is
the same as the absence of that attribute.  This doesn't mean Higgins needs
to follow, but we do need to agree on, and somewhere state the behavior.
 
Jim

>>> "Sergey Lyakhov" <slyakhov@xxxxxxxxxxxxxx> 5/25/07 11:31 AM >>>
> Both ComplexValue and SimpleValue are sub-classes of Value. By stating the
> range as Value we allow both possibilities.

Of course, they both are sub-classes of Value. But SimpleValue can not have 
attributes (at least ISimpleValue interface doesn't extend IHasAttributes, 
because there is no any sence for SimpleValue to have attributes).

Also I have one question about metadata: let's suppose that we have 
attribute with 2 values and one metadata container (higgins:Attribute) as it

was in your example. The question is - what should we do with metadata when 
both values were removed from attribute? Should we delete metadata when  we 
remove last value of attribute?

Thanks,
Sergey Lyakhov

----- Original Message ----- 
From: "Paul Trevithick" <paul@xxxxxxxxxxxxxxxxx>
To: "'Higgins (Trust Framework) Project developer discussions'" 
<higgins-dev@xxxxxxxxxxx>
Sent: Friday, May 25, 2007 8:08 PM
Subject: RE: [higgins-dev] Two bug fixes to HOWL 
(higgins.owl)[nonbreakingchange]


>
> SergeyL wrote:
>>
>> Paul,
>>
>> > 2) bug fix: allowed the range of higgins:attribute to be either
>> > higgins:Value (as it was) or higgins:Attribute (new--this object is the
>> > holder of metadata about the entire set of values (i.e. "ranges") of a
>> set
>> > of higgins:attributes
>>
>> 1. SimpleValue can not contain attributes (only ComplexValue can), so it
>> will be more correct to allow the range of higgins:attribute to be
>> ComplexValue, not Value.
>
> Both ComplexValue and SimpleValue are sub-classes of Value. By stating the
> range as Value we allow both possibilities.
>
>>
>> 2. Really higgins:attribute is a property of DS (or complex value) that
>> contains higgins:Value (simple or complex). What sence is there for
>> higgins:Attribute class to be the range of  higgins:attribute? Do you 
>> mean
>> that we should use the same property to store as values of attribute as
>> metadata of this attribute?
>
> All will become more clear as I work on some examples. But here is where 
> I'm
> headed...
>
> The higgins:Attribute is a holder of metadata for a set of higgins:Values.
>
> Here is an example of its use: Consider foo:eyeColor to be a property of a
> DS (a sub-property of higgins:attribute property). Imagine three instances
> of this eyeColor property: two of them point to higgins:Values (e.g. two
> higgins:Strings having associated literal values of "blue" and "green"
> respectively), and the third points to a higgins:Attribute that holds
> metadata about the set of Values. As a trivial example, this
> higgins:Attribute could hold the metadata property "numberOfValues" and 
> have
> a range/value of "2".
>
> Thus the metadata (numberOfValues = 2) is bound to the values
> ("blue","green") as follows:
>  * the relevant ObjectProperty instances (all three of them) have the same
> URI (in our example, "foo:eyeColor)
>  * we follow a convention that there is at most one higgins:Attribute
> instance for a given higgins:attribute sub-property
>
> -Paul
>
>>
>> Thanks,
>> Sergey Lyakhov
>>
>> ----- Original Message -----
>> From: "Paul Trevithick" <paul@xxxxxxxxxxxxxxxxx>
>> To: "'Higgins (Trust Framework) Project developer discussions'"
>> <higgins-dev@xxxxxxxxxxx>
>> Sent: Friday, May 25, 2007 6:01 PM
>> Subject: [higgins-dev] Two bug fixes to HOWL (higgins.owl) [non
>> breakingchange]
>>
>>
>> > 1) bug fix: allowed the domain of higgins:attribute to be either
>> > DigitalSubject (as it was) or ContextObject (new)
>> >
>> > 2) bug fix: allowed the range of higgins:attribute to be either
>> > higgins:Value (as it was) or higgins:Attribute (new--this object is the
>> > holder of metadata about the entire set of values (i.e. "ranges") of a
>> set
>> > of higgins:attributes
>> >
>> > Changes have been published here [1]
>> >
>> > [1] http://www.eclipse.org/higgins/ontologies/2006/higgins.owl
>> >
>> > -Paul
>> >
>> > _______________________________________________
>> > higgins-dev mailing list
>> > higgins-dev@xxxxxxxxxxx
>> > https://dev.eclipse.org/mailman/listinfo/higgins-dev
>>
>> _______________________________________________
>> higgins-dev mailing list
>> higgins-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/higgins-dev
>
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev 

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



Back to the top