Re: Understanding some issues on the denotational semantics

On Wed, Feb 16, 2011 at 1:26 PM, Alexandre Bertails <bertails@w3.org> wrote:

> Hi Juan,
>
> On Wed, 2011-02-16 at 13:15 -0600, Juan Sequeda wrote:
> > Alex, Eric
> >
> >
> > Can you guys clarify some issues that I'm not understanding correctly.
>
> It's funny you ask these things right after I sent [1] :-)
>
>
Yes, what a coincidence. You sent your email 1 hour ago. I've been working
on this for the last two.


> I suggest you follow [2] instead of what you found in the current draft.
> This is an updated version (far simpler and much more complete) and I'll
> be happy to help you going through it.
>

Damn.. 2 hours of work down the drain....


>
> Alexandre Bertails.
>
> [1] http://www.w3.org/mid/1297880900.11894.25.camel@simplet
> [2] http://www.w3.org/2011/02/16-DM-denotational-rdf-semantics
>
> >
> >
> > Thanks!
> >
> >
> > I'm going to use this as my
> > example:
> http://www.w3.org/TR/2010/WD-rdb-direct-mapping-20101118/#lead-ex
> >
> >
> > First, I'm going to define a Database Model, following:
> > http://www.w3.org/TR/2010/WD-rdb-direct-mapping-20101118/#Rel
> >
> >
> > Database = {"Address -> Table1, "People" -> Table2}
> >
> >
> > Table1 = (Header1, 0, [id], 0, Body1)
> > Header1 = {id -> int, city -> char, state ->char}
> > Body1 = [Tuple1, Tuple2]
> > Tuple1 = {id -> 18, city -> Cambridge, state -> MA}
> > Tuple2 = {id -> 19, city -> Austin, state -> TX}
> >
> >
> > Table2 = {Header2, 0, [id], FK2, Body2)
> > Header2 = {id -> int, fname -> char, addr -> int}
> > FK2 = { [addr] -> (Table1, [id]) }
> > Body2 = [Tuple3, Tuple4, Tuple5]
> > Tuple3 = {id -> 7, fname -> Bob, addr -> 18}
> > Tuple4 = {id -> 8, fname -> Sue, addr -> null}
> > Tuple5 = {id -> 9, fname -> Joe, addr -> 19}
> >
> >
> > So lets start!
> > [23]
> > directDB()
> > ≝
> > { directR(R, M) ∣
> > R ∈ DB }
> >
> >
> > First of all, I do not know what M is. I'm assuming that DB is the
> > Database, therefore:
> >
> >
> > R = {"Address -> Table1, "People" -> Table2}
> >
> >
> > If I understand the notation correctly, then:
> >
> >
> > directDB() = {directR("Address -> Table1, M), directR("People" ->
> > Table2, M)}
> >
> >
> > so let's do the first directR
> >
> >
> > 24]
> > directR(R, M)
> > ≝
> > { directT(T, R,
> > M) ∣ T ∈ R.Body }
> >
> > I'm still unclear what is M
> >
> >
> > What is R.Body? I'm assuming you are retrieving Body. Therefore Body
> > of Table1 is [Tuple1, Tuple2], therefore I assume:
> >
> >
> > T = [Tuple1, Tuple2]
> >
> >
> > now we have:
> >
> >
> > directR("Address -> Table1, M) = { directT([Tuple1, Tuple2], "Address
> > -> Table1, M) }
> >
> >
> > now let's go to the definition of directT
> >
> >
> > 25]
> > directT(T, R, M)
> > ≝
> > { directS(S, T,
> > R, M) ∣ S =
> > subject(T, R,
> > M) }
> >
> >
> > now we need to know what is S
> >
> >
> > 26]
> > subject(T, R, M)
> > ≝
> > if (pk(R) =
> > ∅) then new blank
> > node else rowIRI(R, T[pk(R)]) # references the ultimate referent of
> hierarchical key
> >
> >
> > What is pk(R)?
> >
> >
> > now we have:
> >
> >
> > subject([Tuple1, Tuple2], "Address -> Table1, M) = if (pk("Address ->
> > Table1) = 0
> >
> >          then new blank node
> >
> >      else
> >
> >          rowIRI("Address -> Table1, T[pk("Address -> Table1)])
> >
> >
> >
> >
> > I'm assuming tat pk("Address -> Table1) will return the primary key,
> > then we have
> >
> >
> > pk("Address -> Table1) = [id]
> >
> >
> > Now we have
> >
> >
> > subject([Tuple1, Tuple2], "Address -> Table1, M) = rowIRI("Address ->
> > Table1, T[[id]])
> >
> >
> > Now let's go to the definition of rowIRI
> >
> >
> > [31]
> > rowIRI(R, As)
> > ≝
> > IRI(UE(R.name) +
> > "/" + (join(',',
> > UE(A.name) + "="
> > + UE(A.value)) ∣
> > A ∈ As ) + "#_")
> >
> >
> > What is UE()?
> >
> >
> > What is R.name? Where is it defined?
> >
> >
> > Ok, I'm stopping here.
> >
> >
> > p.s. By the time I finished doing all of this, I saw that Alex sent an
> > email with a new version of the denotational semantics. I'm guessing I
> > should re-do what I just did with the new version?
> >
> >
> > Thanks guys for the clarifications!
> >
> >
> > Juan Sequeda
> > +1-575-SEQ-UEDA
> > www.juansequeda.com
> >
> >
>
>
>

Received on Wednesday, 16 February 2011 19:51:24 UTC