rdfs rdb vocabulary (again)

I am not a member of the XG, but have been following the discussions. 
It is apparent that there are any number of ways to expose RDB data as 
RDF, but not so apparent that there are any aspects of these approaches 
that could or should be standardized.

I suggested in an earlier note 
(http://lists.w3.org/Archives/Public/public-xg-rdb2rdf/2008Mar/0029.html) 
that one aspect of standardization that would advance the state of the 
art is an RDFS or OWL formulation of the relational model itself.  Any 
method of getting RDB data to RDF has to deal with the relational model 
either explicitly or implicitly.  By making an explicit model of RDB in 
RDF, we at least provide a reference point for all implementations.

Here is a rough cut straw man proposal. It has several defects, and 
raises many questions.  I would like to submit this to the XG for 
discussion on at least 3 topics:
	1) the validity and usefulness of the schema itself (or any such schema);
	2) possible use in automated SQL-SPARQL rewriting (2-way);
	3) possible use as an intermediate format between RDB and 
domain-specific ontologies.

@prefix rdfs: http://www.w3.org/2000/01/rdf-schema# .
@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# .
@prefix rdb: http://www.w3.org/xg-rdb2rdf/rdb# .

rdb:Relation a rdfs:Class . # a database table
rdb:relationName a rdf:Property ; # the table name
	rdfs:domain rdb:Relation .
rdb:header a rdf:Property ;
	rdfs:domain rdb:Relation ;
	rdfs:range rdb:RelationHeader .
rdb:body a rdf:Property ;
	rdfs:domain rdb:Relation ;
	rdfs:range rdb:RelationBody .
rdb:RelationHeader a rdfs:Bag . # of TypeDefinitions
rdb:TypeDefinition a rdfs:Class .
rdb:typeName a rdf:Property ; # of a TypeDefinition or TypedValue
	rdfs:range rdb:TypeDefinition ;
	rdfs:range rdb:TypedValue .
rdb:underlyingType a rdf:Property ; # of a TypeDefinition
	rdfs:range rdb:TypeDefinition .
rdb:primaryKey a rdf:Property ; # boolean
	rdfs:range rdb:TypeDefinition .
rdb:foreignKey a rdf:Property ; # reference to foreign typeName
	rdfs:range rdb:TypeDefinition .
rdb:RelationBody a rdfs:Bag . # of Tuples
rdb:Tuple a rdfs:Bag . # of TypedValues
rdb:TypedValue a rdfs:Class .
rdb:value a rdf:Property ; # of a TypedValue
	rdfs:range rdb:TypedValue;

Received on Monday, 26 May 2008 14:32:21 UTC