Re: RDB2RDF mapping formalisms teleconference logistics

* Eric Prud'hommeaux <eric@w3.org> [2010-10-20 18:41-0400]
> * Michael Hausenblas <michael.hausenblas@deri.org> [2010-10-19 18:39+0100]
> > Additionally, we've discussed how to proceed with the semantics part. There
> > will be additionally conferences - Eric will fill in the details here, I
> > believe ;)
> 
> Meeting: RDB2RDF mapping formalisms
> Time: Thursday 18.00Z, 14.00EDT, 14.00CLT (I think)
> Code: 26632 (This code will change from week to week so check IRC)
> IRC: irc.w3.org #rdb2rdf


I suspect we'll want to have SQL's definitions on hand:
[[
4.3 Tables

A table has an ordered collection of one or more columns and an unordered collection of zero or more rows.
Each column has a name and a data type. Each row has, for each column, exactly one value in the data type of
that column.

SQL-data consists entirely of table variables, called base tables. An operation that references zero or more base
tables and returns a table is called a query. The result of a query is called a derived table.

The rows of a table have a type, called “the row type”; every row of a table has the same row type, which is
also the row type of the table. A table that is declared to be based on some structured type is called a “typed
table”; its columns correspond in name and declared type to the attributes of the structured type. Typed tables
have one additional column, called the “self-referencing column” whose type is a reference type associated
with the structured type of the table.

If a typed table TB1 has an associated structured type TP1 that is a subtype of some other structured type TP2,
then TB1 can be defined to be a “subtable” of a typed table TB2 whose associated type is TP2; TB2 is, in this
case, a “supertable” of TB1.

A view is a named query, which can be invoked by use of this name. The result of such an invocation is called
a viewed table.

Some queries, and hence some views, are updatable, meaning they can appear as targets of statements that
change SQL-data. The results of changes expressed in this way are defined in terms of corresponding changes
to base tables.

No two columns of a base table or a viewed table can have the same name. Derived tables, other than viewed
tables, may contain more than one column with the same name.

A base table is either a schema object (its descriptor is in a schema; see Subclause 4.6.6, “Base tables and their
components”) or a module object (its descriptor is in a module; see Subclause 4.9, “Modules”). A base table
whose descriptor is in a schema is called a created base table, and may be either persistent or temporary (though
its descriptor is persistent in either case). A persistent base table contains 0 (zero) or more rows of persistent
SQL-data. A base table declared in a module may only be temporary, and is called a declared temporary table.

A temporary table is an SQL-session object that cannot be accessed from any other SQL-session. A global
temporary table can be accessed from any associated SQL-client module. A local temporary table can be
accessed only from the module to which it is local.

A temporary table is empty when an SQL-session is initiated and it is emptied (that is, all its rows are deleted)
either when an SQL-transaction is terminated or when an SQL-session is terminated, depending on its
descriptor
]]

so NULL is in every data type and
 ┌────┬──────┬───────┐
 │ ID │ name │ name  │
 ├────┼──────┼───────┤
 │  7 │ Bob  │ Smith │
 └────┴──────┴───────┘
is a derived table, but it is not a queriable (base or viewed) table.
(note also that SPARQL does not share SQL's positional reports.)

-- 
-ericP

Received on Wednesday, 20 October 2010 23:19:32 UTC