Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Some changes to IdAS proposal

Jim,

I have encountered with some problems during using IdAS as a result there are some proposals to change IdAS interfaces.

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;


2. I propose to add "Iterable<IAttribute> getAttributes(URI attrID)" method to IHasAttributes interface. This method will return a list of attibutes of the same type and will be used instead of IProperty.getValues() to store a list of values.


3. We need to be able to set/get "null" value for simple attibute. I propose to use the following logic (let's assume that we create "uniqueIdentifier" attibute): a) we create individual of higgins:SimpleAttribute class (it is higgins:String in case of uniqueIdentifier) and set it to a Subject as value of higgins:uniqueIdentifier property; b) if value is not null we create and set appropriate literal, otherwise do nothing;

Two possible results are mentioned below:

subject has "uniqueIdentifier" attribute with value = "some ID":

<DigitalSubject>
   <higgins:uniqueIdentifier>
     <higgins:String>
<higgins:string rdf:datatype="http://www.w3.org/2001/XMLSchema#string";>some ID</higgins:string>
     </higgins:String>
   </higgins:uniqueIdentifier>
</DigitalSubject>

subject has "uniqueIdentifier" attribute with null value:

<DigitalSubject>
   <higgins:uniqueIdentifier>
     <higgins:String/>
   </higgins:uniqueIdentifier>
</DigitalSubject>

Thanks,
Sergey Lyakhov


Back to the top