Re[2]: Associations in RDF


Mac> writes:
>> >To me, predicates seem to have two types: relation (or association) and
>>  >attribute.
>>  How are attributes different from relations except perhaps for their
>>  typical value range? I mean, mathematically speaking an attribute is just
>>  a member of the image of an object in a certain relation, that is, a
>>  member of X \times Y where X is the set of objects and Y the set of values
>>  this particular attribute may have. I would view the uniform treatment of
>>  attributes and relations as a big, big plus -- you only have to implement
>>  the tools once, and everything's beautiful from there.

Mac> Attributes and relations are different in terms of subordination, types of
Mac> values (not
Mac> range)  and semantics.
Mac> Let's look at a common database example:
Mac> If I have the following tables (could be classes): employee, department

Mac> The employee table would have attributes like:
Mac> name, SSN, dateHired, etc.
Mac> Department could have attributes like: name, dnumber, managerSSN, location,
Mac> etc.

Mac> A relation between these two classe would be something like
Mac> "WorksFor"

Mac> In the database world, WorksFor would be modeled in a separate table with
Mac> an EmployeeSSN and Department number.  In other words, the relation connects
Mac> these two entities in some way.  The relation itself is not part-of or
Mac> subordinate
Mac> to either entity.  Semantically speaking, the concept of "working for" should
Mac> not be
Mac> a bound characteristic of the Employee class as it is a temporary condition.
Mac> So,
Mac> while I know you can model it with a "worksFor" attribute that is a reference
Mac> to
Mac> a Department object ... I would argue that makes your class brittle and
Mac> logically
Mac> incorrect.  So, I am saying that I don't think we should model relations as
Mac> members of a Class.  In object-oriented programming terms, I am saying that a
Mac> simple property as a reference type to another object is not good enough if
Mac> you have a situation where the relations are more important than the entities.

You are right ! And in practice we use a separate entity to model the
relations - associations . Although from formal logic point of view
they differ only as monadic and nonmonadic predicates.
 But ! It will be helpful to take into account some
"relativity" between "properties" and "relations". Sometimes we model a
relation as "propertiy" of object and simetimes as separate entity
(see for example a discussion -

As I wrote yesterday some more deep foundations must be taken into
account for basic Semantic Web metamodel.

Best regards,
 Leonid and copy to
Leonid Ototsky,
Chief Specialist of the Computer Center,
Magnitogorsk Iron&Steel Works (MMK)-

Received on Friday, 19 July 2002 05:14:35 UTC