# Re: Modeling question...

From: JOG <jog_at_cs.nott.ac.uk>
Date: Thu, 30 Oct 2008 03:41:08 -0700 (PDT)

On Oct 30, 1:51 am, David BL <davi..._at_iinet.net.au> wrote:
> On Oct 29, 8:39 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
>
> > On Oct 29, 2:37 am, David BL <davi..._at_iinet.net.au> wrote:
> > > On Oct 29, 9:13 am, JOG <j..._at_cs.nott.ac.uk> wrote:
>
> > > > The RM handles facts as naturally as stating them in predicate logic.
> > > > And why would one ever model things other than facts in predicate
> > > > logic?
>
> > > Exactly!
>
> > Then may I suggest that your argument is not with the RM, but with the
> > use of predicate logic to model equations, engines, etc. And yet this
> > to me seems trivially true - if I was modelling a human in an art
> > class I'd use clay, not predicate logic.
>
> I don't think it's quite so trivial.   For example, consider tri-
> surface as a value-type.  A simple type decomposition as a set of
> triangles where each triangle is independently defined by 3 vertices
> doesn't express the constraint that the triangles tend to meet each
> other.  It seems appropriate to introduce abstract identifiers for
> the vertices in order that they may be shared.
> This is evidently a relational solution.  However unlike typical uses of the RM there
> doesn't appear to be some external UoD to which the tuples,
> interpreted as propositions can be related.

I use Oracle Spatial to do exactly this sort of thing day in day out in a geospatial domain, and no abstract identifers are introduced. The coordinates of any vertex are used. That is what identifies them - that is what is used (note that these coordinates can happily be relative). Constraints to maintain adjacency use the spatial operators offered by SDO_RELATE. It is very good.

I karate chop your example to pieces! Haiii-ya.

> Rather it seems that a particular tri-surface /value/ has introduced a local and private
> namespace in order to privately apply the RM.  Note as well that this
> is not like an RVA (where we think of only a single relation as a
> value) because a tri-surface value is associated with /two/ relations
> - one for the vertices and another for the triangles.
>
> I have wondered whether abstract identifiers are needed precisely when
> it is useful to express the concept of "common sub-expressions" within
> nested value-types.  Note that scene graphs are typically thought of
> as DAGs not trees for precisely this reason.
>
> I think there is an interesting interplay between 1) degrees of
> freedom (or entropy or storage space if you like) in the encoding of a
> value, 2) abstract identifiers, 2) integrity constraints and 4) update
> anomalies.   The existing normalisation theory in the literature seems
> relevant but doesn't seem to me to account for recursive type
> definitions and abstract identifiers.

I am yet to be convinced of the need for abstract identifers (or invention of recursive types) from the examples offered so far.. the wff is the most interesting, but I am currently questioning the sense or utility of decomposing an equation in such a manner /at the logical level/ (as opposed to the physical). Regards, J.

> Given this interplay it would
> be useful to better understand why one encoding would be more
> desirable than another.  In fact I wonder whether there are some
> objective criteria. Evidently it is not to always avoid abstract
> identifiers (as if they are implicitly evil).   I would guess that as
> far as the complexity of the integrity constraints there is some sweet
> spot in the use of abstract identifiers.
>
> > Of course the resulting piece of clay would be an "encoded value" and
> > thus,  by your definition, data.
> > And then a bag of such pieces of clay.. its a database!
> > And my mantelpiece at home, which I display them on....its a data
> > warehouse!
> > And of course, when I spring-clean I am become a DBMS!
Received on Thu Oct 30 2008 - 11:41:08 CET

Original text of this message