Re: a new way of thinking about RDF and RDF Schema

"Peter F. Patel-Schneider" wrote:
> 
> From: Sergey Melnik <melnik@db.stanford.edu>
> Subject: Re: a new way of thinking about RDF and RDF Schema
> Date: Mon, 22 Oct 2001 18:52:11 -0700
> 
> > "Peter F. Patel-Schneider" wrote:
> > >
> > > From: Sergey Melnik <melnik@db.stanford.edu>
> > > Subject: Re: a new way of thinking about RDF and RDF Schema
> > > Date: Mon, 22 Oct 2001 16:47:00 -0700
> > >
> > > >
> > > > The above suggestion does assign meaning to any well-formed XML
> > > > document. As explained in "syntax.html", by default every XML tag
> > > > encountered during processing is considered to be a property name.
> > > >
> > > > Sergey
> > >
> > > How can you handle
> > >
> > > <foo>
> > >  7
> > >  <bar>8</bar>
> > >  <baz>
> > >    <bay>9</bay>
> > >  </baz>
> > > </foo>
> > >
> > > You can't make all the tags be property names unless you do some serious
> > > surgery on the XML.  (It does appear that you are doing some surgery in
> > > your fusion document, but I can't seem find out just what you are doing.  A
> > > specification of what is going on would be very useful.)
> > >
> > > peter
> >
> > Peter,
> >
> > http://www-db.stanford.edu/~melnik/rdf/syntax.html
> >
> > contains a complete specification of a parsing algorithm. Think of
> > "getUniqueURI()" as a function that creates a bNode (aka anonymous
> > node). If two "property nodes" are nested, one of them is assumed to be
> > the type of a bNode.
> 
> How can this be?  generateRDF is called on each elementnode and only looks
> at the node and its attributes.  How can it do different things for the
> middle elements in
> 
>         <foo1>
>           <foo2>
>             <foo3>
>              <foo4>
>                <foo5>
>                  7
>                </foo5>
>              </foo4>
>             </foo3>
>           </foo2>
>         </foo1>
> 
> It appears to me that generateRDF would do something like
> 
>            foo1    foo2      foo3    foo4      foo5
>         .------->.------->.------->.------->.------->.7

Of course, you are right, it was so long ago...

> which works, and is quite general, except that generateRDF doesn't handle
> 
>         <foo1>
>           <foo2>
>             <foo3>
>              <foo4>
>                <foo5 rdf:instance="bar">
>                  7
>                </foo5>
>              </foo4>
>             </foo3>
>           </foo2>
>         </foo1>
> 
>            foo1    foo2      foo3    foo4  bar  ??
>         .------->.------->.------->.------->.------->.??
>                                             |
>                                             |
>                                             |
>                                             v
>                                             . foo5

The above case appears to be missing. However, the implementation
processes arbitrary XML alright.

> > http://www-db.stanford.edu/~melnik/rdf/fusion.html provides a graphical
> > interpretation of a sample XML document. In fact, in this example a
> > slighly different definition of "getObject()" is used that handles
> > dangling PCDATA like "7" in your example above.
> 
> So http://www-db.stanford.edu/~melnik/rdf/syntax.html does not handle
> arbitrary XML then?

If you insist, it does not; think of the algorithm as illustrating the
idea without getting into the PCDATA business in detail.

> The example in http://www-db.stanford.edu/~melnik/rdf/fusion.html appears
> to use information not in the XML document.  At least it translates title
> and abstract differently and they have what looks to me to be the same
> context.

As explained in the text, the example goes along with the DTD stored at

http://www-db.stanford.edu/~melnik/rdf/examples/text.xml.rdf

Notice that "abstract" has a default value for the "instance" property,
so it parses differently.

> > The example uses ordinal
> > properties to represent order. As of now, I'm not convinced that this is
> > a good idea any more. How would you represent order in an RDF graph?
> 
> Pat's RDF graphs don't handle order.  However, it is possible to, and has been
> done (but my reference is at work), add order to a graph that represents
> RDF and XML information.  There are lots of ways to do this, one would be
> to add a partial order over edges.

Well, how do you squeeze the partial order information into the graph?
I'm not asking for academic reasons. Ordering is a critical feature for
many applications, and if there is no adequate way of introducing order
into RDF "as is", we may have to rethink the basics of the RDF model
(sooner or later). So please let me/RDF Core know about your ideas once
they are in shape...

Sergey

Received on Tuesday, 23 October 2001 14:37:48 UTC