[Zope-dev] Re: RDF Musings and TinyTables

2003-02-20 Thread Paul Everitt

Good grief, how did I miss this!!

Shane Hathaway wrote:

I just read the RDF article published here:

http://www.xml.com/pub/a/2003/02/12/rdflib.html


Yes indeed, that is a very good article.


I've understood the mechanics of RDF for a while, but never understood 
what makes it better than what we already have.  Now I think I get it: 
RDF theory is a new kind of database abstraction.  It's similar to a 
relational database in that you put pieces of data into the database and 
later search for data.  But it's much more ad-hoc than a relational 
database.

I think you are 100% correct, maybe 110%. :^)

In the last two years I made several attempts at grokking Mozilla and 
RDF was always the wall I ran into that prevented further progress.  In 
the last three months I slowly, surely, forced myself to study it. 
Write things down, take notes, rewrite them down, etc.

The light bulb has definitely gone off for me now, and I see things 
exactly the way you describe it:

1) It's an abstraction.  Once you start working with it, you realize 
what this means.  You take a bunch of information and throw it into a 
bucket.  You also throw in how the information relates to each other.

2) It's a database.  You have a pretty formal way of asking questions 
and making sense of the stuff in the bucket.  You also have a way to put 
things in the bucket, and also to rearrange the stuff in the bucket.

3) It's ad-hoc.  You don't have to know everything beforehand like SQL. 
 You also don't have to control the containment hierarchy like you do 
with XML.  (Took me a LONG time to realize the significance of the 
latter point.)

The ad-hoc part is, for me, the key.  Relational theory provided the 
theoretical foundation for modern online transaction processing.  But 
things like content management are a much different problem.  (One 
analyst states that unstructured content is 80% of the information in a 
business.)

RDF, in my view, is the equivalent of a set theory, a formal 
foundation, for content management.  Without it, everyone has to build 
their own framework for stitching things together, for connecting the 
dots.

Serialization of RDF into XML and the relationship between RDF and the 
Semantic Web are distinct concepts from RDF theory.

That's right.  I've always been surprised when I threw some RDF/XML into 
Mozilla, then got a dump of the serialized results.  What I put in 
doesn't look like what I get out.  That's because there is an abstract 
model.  The XML can look a couple of different ways, and you still have 
the same abstract model.

It took me a while, but I learned how to take advantage of this.  With 
Moztop, I'm taking a pretty loose, distributed approach to content 
managment.  I collect RDF from a bunch of different servers, throw it 
all into one big graph, and use this to draw widgets on the screen.

The ability to make an assertion into a completely different part of the 
tree is something you can't do in XML.

This ad-hoc data storage made me think of TinyTables.  TinyTables is a 
good Zope product that fills the need for simple tables of data, but it 
needs attention.  What if it got replaced by some Zope product called 

I will do everything in the universe to help such a project.  How is 
that? :^)

I know what the practical benefits that RDF can mean for content 
management.  And it isn't esoteric Semantic Gibberish.  I'm unable, 
though, to map it on the server side.  However, I'm having luck on the 
client side:

  http://www.zope-europe.org/Members/paul/tmp/moztop-pinstripe.png

RDFBucket?  An RDFBucket object would let you input data in a variety 
of ways, including object introspection, forms, and XML with embedded 

Yes, this is very similar to the client side model in Mozilla.  I'm 
doing things like:

  o Assembling a hierarchy

  o Making up new hierarchies where none existed before

  o Generating property sheets

  o Doing conditional display

  o Making rich connections between loosely-coupled objects, meaning,
  objects that didn't expect to be coupled

  o Allowing data from Zope 2 and Zope 3 sites to be
  collected, presented, and related in the same interface

Mozilla's template model is interesting to at least investigate.  What's 
interesting about it is the way you can follow relationships in the 
model to draw things on the screen:

  http://www.mozilla.org/docs/xul/xulnotes/template-primer.html

In this very simple example:

  http://www.mozilla.org/docs/xul/xulnotes/template-bindings.html

...note the last two resources shown in friends.rdf.  Instead of 
repeating information in every row, you get the equivalent of a join. 
 Except the result of that join can produce another join.  The template 
builder keeps following relationships.  Also, you can join to something 
on another server.

RDF.  It would let you run queries similar to ZCatalog.  Maybe it would 
also generate RDF for embedding metadata in web pages

I'm wondering if I'm thinking in line with RDF theory, 

[Zope-dev] Re: RDF Musings and TinyTables

2003-02-20 Thread Shane Hathaway
Paul Everitt wrote:


Shane Hathaway wrote:

I've understood the mechanics of RDF for a while, but never understood 
what makes it better than what we already have.  Now I think I get it: 
RDF theory is a new kind of database abstraction.  It's similar to a 
relational database in that you put pieces of data into the database 
and later search for data.  But it's much more ad-hoc than a 
relational database.


I think you are 100% correct, maybe 110%. :^)


Whew, that's good to know.


In the last two years I made several attempts at grokking Mozilla and 
RDF was always the wall I ran into that prevented further progress.  In 
the last three months I slowly, surely, forced myself to study it. Write 
things down, take notes, rewrite them down, etc.

The light bulb has definitely gone off for me now, and I see things 
exactly the way you describe it:

1) It's an abstraction.  Once you start working with it, you realize 
what this means.  You take a bunch of information and throw it into a 
bucket.  You also throw in how the information relates to each other.

2) It's a database.  You have a pretty formal way of asking questions 
and making sense of the stuff in the bucket.  You also have a way to put 
things in the bucket, and also to rearrange the stuff in the bucket.

3) It's ad-hoc.  You don't have to know everything beforehand like SQL. 
 You also don't have to control the containment hierarchy like you do 
with XML.  (Took me a LONG time to realize the significance of the 
latter point.)

With all this in mind, I just studied my Mozilla mimeTypes.rdf file 
again.  At first, this file looks nasty.  I've only defined handlers for 
two mime types, application/pdf and application/x-zope-edit, yet the 
string application/pdf shows up 8 times in the file!  I only typed it 
once. ;-)

But if I think of RDF files as database export files (or maybe the 
results of a database query), it all makes sense.

- The order in which the RDF elements appear in the file doesn't matter, 
just like the physical order of inodes on a hard disk doesn't matter.

- The obvious way to read this file is to search for XML elements that 
look like 'RDF:Description about=urn:mimetype:*'.  But that's not 
the right way: that's like scanning filesystem inodes sequentially. 
Instead, there is a root URI, urn:mimetypes, and the RDF elements make 
connections to other elements from there.

- RDF is hard to read, but legibility by humans isn't its primary focus. 
 It's more concerned with providing a way to declare any relationship 
about anything.

The ad-hoc part is, for me, the key.  Relational theory provided the 
theoretical foundation for modern online transaction processing.  But 
things like content management are a much different problem.  (One 
analyst states that unstructured content is 80% of the information in a 
business.)

RDF, in my view, is the equivalent of a set theory, a formal 
foundation, for content management.  Without it, everyone has to build 
their own framework for stitching things together, for connecting the 
dots.

So RDF seems like a replacement for, or maybe enhancement of, relational 
theory.  But I wonder how object-oriented databases fit in the mix?



Serialization of RDF into XML and the relationship between RDF and the 
Semantic Web are distinct concepts from RDF theory.


That's right.  I've always been surprised when I threw some RDF/XML into 
Mozilla, then got a dump of the serialized results.  What I put in 
doesn't look like what I get out.  That's because there is an abstract 
model.  The XML can look a couple of different ways, and you still have 
the same abstract model.

How do you (1) throw RDF into Mozilla and (2) get a dump of the results? 
 Is there a utility for doing this?  Are the results in RDF, and are 
they pretty much equivalent to cat file1 file2? :-)


It took me a while, but I learned how to take advantage of this.  With 
Moztop, I'm taking a pretty loose, distributed approach to content 
managment.  I collect RDF from a bunch of different servers, throw it 
all into one big graph, and use this to draw widgets on the screen.

The ability to make an assertion into a completely different part of the 
tree is something you can't do in XML.

This ad-hoc data storage made me think of TinyTables.  TinyTables is a 
good Zope product that fills the need for simple tables of data, but 
it needs attention.  What if it got replaced by some Zope product called 


I will do everything in the universe to help such a project.  How is 
that? :^)

I know what the practical benefits that RDF can mean for content 
management.  And it isn't esoteric Semantic Gibberish.  I'm unable, 
though, to map it on the server side.  However, I'm having luck on the 
client side:

  http://www.zope-europe.org/Members/paul/tmp/moztop-pinstripe.png

I can see that the benefits on the client side would be enormous.  For 
interfacing clients to Zope, we've always thought in two directions: 
either connect the client 

Re: [Zope-dev] Re: RDF Musings and TinyTables

2003-02-20 Thread Craeg K Strong
Paul Everitt wrote:


On jeudi, fév 20, 2003, at 22:15 Europe/Paris, Shane Hathaway wrote:


- RDF is hard to read, but legibility by humans isn't its primary 
focus.  It's more concerned with providing a way to declare any 
relationship about anything.


Right.  That's what the graph tool at the W3C online validator is for. 
:^)  Just throw it some RDF and let it draw a picture for you. 

Fascinating discussion.  Could you please share the URL of this 
validator you mentioned? 
I am assuming it is based on GraphViz/IsaViz technology?  Or is it 
something totally new?

Thanks,

--Craeg


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: RDF Musings and TinyTables

2003-02-20 Thread Paul Everitt

On Friday, Feb 21, 2003, at 04:16 Europe/Paris, Craeg K Strong wrote:


Paul Everitt wrote:


On jeudi, fév 20, 2003, at 22:15 Europe/Paris, Shane Hathaway wrote:


- RDF is hard to read, but legibility by humans isn't its primary 
focus.  It's more concerned with providing a way to declare any 
relationship about anything.


Right.  That's what the graph tool at the W3C online validator is 
for. :^)  Just throw it some RDF and let it draw a picture for you.

Fascinating discussion.  Could you please share the URL of this 
validator you mentioned?

http://www.w3.org/RDF/Validator/


I am assuming it is based on GraphViz/IsaViz technology?  Or is it 
something totally new?

Nope, it is indeed GraphVis underneath.

--Paul

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )