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

Paul Everitt Paul@digicool.com
Wed, 1 Mar 2000 06:39:51 -0500


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------ =_NextPart_000_01BF8372.DAF15100
Content-Type: text/plain

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

------ =_NextPart_000_01BF8372.DAF15100
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

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
AAALAPIQAQAAAAIBRwABAAAAOAAAAGM9VVM7YT0gO3A9RGlnaXRhbCBDcmVhdGlvbjtsPUdBTkRB
TEYtMDAwMzAxMTEzOTUxWi0yNzgAAgH5PwEAAABOAAAAAAAAANynQMjAQhAatLkIACsv4YIBAAAA
AAAAAC9PPURJR0lUQUwgQ1JFQVRJT05TL09VPURDSS9DTj1SRUNJUElFTlRTL0NOPVBBVUwAAAAe
APg/AQAAAA0AAABQYXVsIEV2ZXJpdHQAAAAAHgA4QAEAAAAFAAAAUEFVTAAAAAACAfs/AQAAAE4A
AAAAAAAA3KdAyMBCEBq0uQgAKy/hggEAAAAAAAAAL089RElHSVRBTCBDUkVBVElPTlMvT1U9RENJ
L0NOPVJFQ0lQSUVOVFMvQ049UEFVTAAAAB4A+j8BAAAADQAAAFBhdWwgRXZlcml0dAAAAAAeADlA
AQAAAAUAAABQQVVMAAAAAEAABzCwuLXacoO/AUAACDAAUfHacoO/AR4APQABAAAABQAAAFJlOiAA
AAAAHgAdDgEAAAAkAAAAW1pvcGUtTW96XSBSZTogW1pvcGVdIFJERiBVc2UgY2FzZXMAHgA1EAEA
AAA+AAAAPDYxMzE0NUY3OTI3MkQyMTE5MTRCMDAyMEFGRjY0MDE5MjYzMTNEQGdhbmRhbGYuZGln
aWNvb2wuY29tPgAAAAMANgAAAAAACwApAAAAAAALACMAAAAAAAMABhD9P69yAwAHEKoJAAADABAQ
AAAAAAMAERAAAAAAHgAIEAEAAABlAAAAU0hBTEFCSENIQVRVUlZFRElXUk9URTpJRklVTkRFUlNU
QU5EQ09SUkVDVExZVEhJU01FQU5TV0VQVVRUSEVBVFRSSUJVVEVTT0ZBTExUSEVPQkpFQ1RTQVNS
REZQUk9QRVJUSQAAAAACAX8AAQAAAD4AAAA8NjEzMTQ1Rjc5MjcyRDIxMTkxNEIwMDIwQUZGNjQw
MTkyNjMxM0RAZ2FuZGFsZi5kaWdpY29vbC5jb20+AAAAmhQ=

------ =_NextPart_000_01BF8372.DAF15100--