W3C home > Mailing lists > Public > www-rdf-interest@w3.org > July 2002

Re[2]: Associations in RDF

From: Leonid Ototsky <leo@mmk.ru>
Date: Fri, 19 Jul 2002 13:14:55 +0600
Message-ID: <19552.020719@mmk.ru>
To: MDaconta@aol.com
CC: decoy@iki.fi, www-rdf-interest@w3.org


Mac> decoy@iki.fi 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,
mailto:leo@mmk.ru and copy to leo@mgn.ru
Leonid Ototsky,
Chief Specialist of the Computer Center,
Magnitogorsk Iron&Steel Works (MMK)- www.mmk.ru
Received on Friday, 19 July 2002 05:14:35 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:37 UTC