ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Is there something I missed?

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Patrick Cassidy" <pat@xxxxxxxxx>
Date: Fri, 30 Jan 2009 22:03:12 -0500
Message-id: <0c6c01c98350$73fe2e70$5bfa8b50$@com>
Comment below.    (01)

Patrick Cassidy
MICRA, Inc.
908-561-3416
cell: 908-565-4053
cassidy@xxxxxxxxx    (02)


> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
> bounces@xxxxxxxxxxxxxxxx] On Behalf Of Schiffel, Jeffrey A
> Sent: Friday, January 30, 2009 2:47 PM
> To: [ontolog-forum]
> Subject: Re: [ontolog-forum] Is there something I missed?
> 
> > From: Patrick Cassidy
> 
> > In the RDB's I have seen, each field (column in a table) often
> (typically?)
> > represents one relation on the type represented by the table, so the
> number
> > of columns does not have any relation to the arity of the relations
> used.
> > Two or more columns can be used together to represent higher-arity
> > relations, but they may be quite independent.
> 
> I'm not certain I know what you mean. In an entity-relationship isn't
> the relation the entire row, not just one column? The entity is the
> name
> of the table. The names of the columns are the identifiers of an n-ary
> relation. Each row is an instance of the n-ary relation. Or am I
> missing something?
> 
[[PC]] It is possible to create tables in that form, but I have not seen
one.  The way you describe it is confusing - if the "entity" is the name of
the table, how can the rows be instances of "the" relation???  How do you
know *what* relation??  Do you mean that the table represents a relation?
Yes, that is possible, but I have only seen that described, and it is not
the method used in the actual databases I have encountered.  In the few
dozen databases I have had an occasion to examine ( very limited
experience), there are tables such as "person", representing a type (aka
class), and each row of the table represents an instance (an individual
person).  One column will often be an identifier (though it doesn't have to
be - all of the columns may serve together as the "primary key", but
identifiers are useful to serve as foreign keys).  Then each column (and
there may be many) represents an attribute of that individual - such as
height, weight, mother, father, facial hair, home telephone number,
SSnumber, etc.  The combination of instance identifier, column name, and
cell value represents one instance of a relation.  In these cases, the
"entity" is the row.  Each column represents one relation on that entity:
the column may be labeled "height" and the relation might be called
"hasHeight" in an ontology that corresponds to the RDB.  This is a natural
representation because so many common relations are binary; but as I
mentioned, multiple-arity relations can also be represented in this form, as
multiple columns, mixed in with binary relations.  But unless foreign keys
are used, and the DB designer resists the temptation to use one table for
multiple types, it can get messy and mapping to an ontology can take a lot
of work.    (03)

Perhaps you have seen different types of database - do you have a simple
example from a real implemented DB that uses tables as individuals?  If it
did do that (and I don't doubt that somewhere, someone does that) then each
table would have to represent a different relation, since the number of
columns would have to be equal to the arity of the relation (or else it
would be a mess - also possible).  Then you would have not one, but many
tables for each individual, one for each relation.   I am curious what kind
of table representing an "individual" that you have seen where one row is a
single relation among multiple entities.    (04)

It is also possible to invert the database and let each table represent a
relation, and in that case the rows would be instances of that relation.
But in this case, the table would be labeled as a relation, not as an
individual entity.  It depends on what you want to index to optimize the
performance.  But I haven't encountered that kind of database.  But then I
have only a casual acquaintance with databases, and there are doubtless very
experienced RDB developers in this forum that can expound with authority.    (05)

Pat    (06)


> -- Jeff Schiffel
> 
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
>     (07)


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (08)

<Prev in Thread] Current Thread [Next in Thread>