RE: The X Datatype Proposal

> -----Original Message-----
> From: ext Graham Klyne [mailto:Graham.Klyne@MIMEsweeper.com]
> Sent: 14 November, 2001 16:48
> To: Stickler Patrick (NRC/Tampere)
> Cc: w3c-rdfcore-wg@w3.org
> Subject: Re: The X Datatype Proposal
> 
> 
> Patrick,
> 
> I've taken a look through your "X datatype" proposal, ...
>
> (Hint:  if 
> you think I am missing a key point, note that Pat has been 
> able to sketch 
> his basic ideas in less than, or about, a page of text;  

I hardly aspire to be able to express myself as well or
as concisely as Pat! ;-)

> if 
> you your key 
> ideas likewise cannot be likewise distilled I'm going to have 
> a really hard 
> time accepting that they are any better that what we already have.)

I just wanted to point out that 

(a) the majority of the content of my proposal was discussion
    of the problem space, and lengthy examples, not definition 
    of the model itself

(b) the model was not expressed mathematically, and thus would
    not have as concise a definition as Pat might achieve

Here is the condensed definition of the model itself, in about
a page (or less ;-) excluding the explanation of the graph 
notation used for the examples.

--

The X Proposal:

The following is a graph representation which is based on the
reified statement as its foundational construct and may be
considered as a layer below the current resource-centric
graph model.

Types (classes) of graph nodes:

   SNode  Statement Node
   UNode  URIRef Labled Node
   LNode  Literal Labled Node
   BNode  Blank Node

Facets (properties) of graph nodes:

   ID          SysID
   type        (SNode|UNode|LNode|UNode)
   label       for UNode, URI Reference
               for LNode, RDF Literal
               for SNode, URI Reference (optional)
   subject     for SNode, SysID
   predicate   for SNode, SysID
   object      for SNode, SysID


Key points:

1. The values of subject, predicate, and object facets are graph 
nodes, not their labels or the resources denoted by those 
labels.

2. Data types are bound to literals by making statements about
the LNode representing the literal property value. 

3. This representation is not based on triples, but could be
seen as a model by which triples are defined.


Graph notation:

A node is represented by a comma separated sequence of ID, type,
and (if present) label which is surrounded by square brackets. The
type is represented by an uppercase character S, U, L, or B denoting
an SNode, UNode, LNode, or BNode respectively. I.e.

     '[' ID ',' [SULB] ( ',' label )? ']'

E.g.

      [1,S]
      [3,U,urn:someProperty]
      [4,L,bar]
      [9,B]

Subject, predicate, and object facets may be represented by arcs
with the facet name serving as the arc label and the arc represented
by an arrow terminating in the value of the facet. E.g.

      [1,S] ---- subject -----> [2,U,urn:foo]

In cases where the graph is too large to explicitly make the connection,
the node ID value can be shown instead. I.e.

      [1,S] ---- subject -----> 2

An absolute minimal representation can be provided as a list of
node definitions such that for SNodes, the values of the subject,
predicate, and object facets are listed by node ID in that order,
and the arcs are implicit. E.g.

      [1,S,2,3,4]
      [2,U,urn:foo]
      [3,U,urn:someProperty]
      [4,L,bar]

See the extended examples in

http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Nov/0355.html


showing how both data typing as well as general statement 
qualification are addressed by this proposal.

Regards,

Patrick

--
               
Patrick Stickler              Phone: +358 50 483 9453
Senior Research Scientist     Fax:   +358 7180 35409
Nokia Research Center         Email: patrick.stickler@nokia.com

Received on Thursday, 15 November 2001 04:54:24 UTC