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

Mike,

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 -
http://grouper.ieee.org/groups/suo/email/msg02014.html)

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

Best regards,
 Leonid
mailto:leo@mmk.ru and copy to leo@mgn.ru
=====================================================
Leonid Ototsky,
http://ototsky.mgn.ru
Chief Specialist of the Computer Center,
Magnitogorsk Iron&Steel Works (MMK)- www.mmk.ru
Russia
=====================================================
Received on Friday, 19 July 2002 05:14:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:54 GMT