[Zope-Moz] Re: [Zope] RDF Use cases

Paul Everitt paul@digicool.com
Mon, 20 Dec 1999 07:05:27 -0500


Shalabh Chaturvedi wrote:
> If I understand correctly this means we put the attributes of all the
> objects as RDF 'properties'. For eg: the object-type('DTMLDoc',
> 'DTMLMethod', 'Folder' etc) becomes a property, and also everything in
> in Properties tab becomes an RDF property. If you meant something else
> then here's another Use Case ;-)

Ahh, the point of my last email is already proving true!  I disagree
with Martijn with his response in this thread.  I _could_ be polite and
clear things up privately, but arguing in public means that everybody
sees the thought process as it happens.

I view RDF as a data model that helps the "view" in "model/view" talk to
the "model".  I can fully imagine people programming Zope in DTML
Methods or Python Methods by making RDF operations and opertating on the
RDF datastructured response.

That is, the view of Zope looks conceptually the same whether you are
programming it on the server (in Python or DTML) or on the client (in
JS).

We have long intended that RDF have an important role in Zope property
sheets.

> So, we have a bunch of XML (RDF) documents for all the Zope objects.
> These don't live as documents but probably get created on  the fly from
> the info in the ZODB. Does the RDF spec also define a way to
> _manipulate_ the RDF statements, like you suggest?

Martijn's right on this, but Mozilla does treat the abstract RDF
containers as read-write objects that you manipulate with the DOM, I
believe.

> Also, why not have the Zope Studio also query and manipulate the Zope
> objects through RDF only (vs having some other interface).

I think this is the right way to think about it.  Let's take a look at a
real-world scenario for a particular problem in Zope.

Let's face it, Zope doesn't help a whole lot when it comes to
programming SQL.  Competing products have, for almost ten years, had
wizards that let you point-and-click to inspect data and make forms. 
There have been Zope projects to help here, but there hasn't been much
architectural support.

Imagine if...there was a facility to get an RDF representation of a SQL
Method, both its definition and what happened when you __call_'d it. 
You'd have access to the object metadata, like what arguments it
expected.  You'd have access to the database connection it used, so you
could perhaps browse the tables looking for column metadata.  And you
could do the "Test" tab and get data back that you formatted into a much
smarter widget in Zope _and_ in Mozilla.

I view this as a standard way, supported in Zope, Mozilla, and other
tools, to inspect web objects and their "contents".

Also, I'll contend that RDF is orthogonal to XML-RPC, WebDAV, and SOAP. 
Though WebDAV _does_ define the payload for things like inspecting
properties, I think of them mostly as transports that could help RDF. 
But I'll defer to Martijn on this.  Honestly, one week of his time is
probably enough to surpass the six months I've been looking at it.  I'm
only discussing what I _think_ can be done.  All my attempts to actually
do it have failed do to a rather low personal score on the previous
survey. :^)

--Paul