Jim, higgins.owl
doesn’t have to change because in changing IdAS as you propose in your
email below you haven’t changed the fundamental semantics.
In the IdAS API
you propose the semantic that one IdAS attribute have N values. In HOWL
(higgins.owl OWL) this is represented as N (subject, predicate, object) triples
each sharing the same DS as a subject, the same higgins:attribute as the
predicate and N instances of higgins:Attribute as the objects.
You propose the
semantic that each of these N values can have its own set of metadata
properties. This is represented in HOWL by each higgins:Attribute instance
having (1) its own metadata properties hanging off of it and (2) a “value”
represented for simple datatypes by a higgins:value predicate pointing to a
literal, and for complex attributes by the M RDF properties defined by the
higgins:Attribute subclass.
Essentially a
higgins:Attribute class should be thought of as a higgins: SingleValueOfSomeAttributeAlongWithThisValue’sMetadata
object. For clarity I propose we rename higgins:Attribute to higgins:ValueWithMetadata
(note that Value is NOT plural).
-Paul
From:
higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Jim Sermersheim
Sent: Thursday, April 26, 2007
10:14 PM
To: higgins-dev@xxxxxxxxxxx
Subject: [higgins-dev] IdAS: One
attribute per type per DS
<trying to
clean up as many low-hanging issues as I can while the IdAS interfaces are in
flux>
From previous
phone calls, higgins-dev traffic and #higgins IRC traffic, I believe
consensus is that we want to return the data model to one where there is only
one attribute of a given type on any digital subject.
There is some
remaining work (IIRC) to do in the higgins.owl, but I think we can make the
change to the IdAS APIs right now. This change consists of removing the
metadata Iterator argument from IHasAttributes.getAttribute(URI attrID,
Iterator metadata). This was here so we could disambiguate between two
same-named attributes. It was a bad idea from the IdAS consumer's
PoV.
We currently
still have the ability to associate metadata with attributes, and we don't yet
have the ability to associate it with values. We could address this at
the same time. There's a good argument to allow metadata on the values, and
some have expressed interest in removing metadata from attributes.
I suspect there
are reasons to continue to allow metadata at the attribute.
If we allow
metadata at the value, we need to decide whether it plays into the value's
equality rule (please say no).