[Zope-Moz] Design discussion (was RDF Use cases)
Brian Lloyd
Brian@digicool.com
Mon, 20 Dec 1999 15:24:44 -0500
> > These issues were also discussed by the people designing things like
> > the Mozilla sidebar. It's an interisting discussion you
> might want to
> > have a look at, as it discusses the why and how of RDF:
> >
> > http://www.mozilla.org/xpfe/xulrdf.htm
>
> Now that was enlightening.
> I suggest another link for the benifit of others:-
> http://www.mozilla.org/rdf/doc/api.html
>
> ...
>
> I defer my initial suggestion for a (non-RDF) XML based model
> in favour
> of an RDF-based model. I'm not saying that we ought to use RDF in the
> said way. I'm saying that if we have to choose between RDF and a new
> zope XML schema for representing the data in an ZODB, RDF is
> the way to
> go. RDF Schemas will still have to be designed, but the
> immense support
> for RDF in mozilla will be very useful.
Another interesting read is the "Datasource How-To" at:
http://www.mozilla.org/rdf/doc/datasource-howto.html
While the bulk of it deals with implementing RDF datasources
inside of Mozilla as XPCOM objects (which we don't care too
much about), the leadoff core concept:
"More concretely, a datasource is a translator that can present
information as a collection of RDF statements. For example, a
"file system datasource" would translate the file system into
statements like "/tmp is a directory" and "/tmp/foo is contained
within /tmp". An "IMAP datasource" would use the IMAP protocol to
translate your mail server's inbox as a collection of statements
like "message number 126's subject is 'make money fast on the
Internet'" and "message number 126 was sent by
'spammer128@hotmail.com'". An "address book" datasource could
translate a database file into statements like
"spammer128@hotmail.com's real name is 'Billy Dumple'" and
"spammer128@hotmail.com is considered an 'important friend'."
Statements from one datasource can be combined with statements
from another datasource using a composite datasource. By combining
statements from the IMAP datasource and address book datasource,
above, we'd be able to identify the sender of "message 126" as an
"important friend".
...is a great example of how we'd like to harness the abilities
of a well-thought out RDF design. A possible Zope-ish version of
the example above would be: a "security info" datasource could
produce RDF saying that "Brian has the Manager role" and "The
Manager role has View permission on Folder X". A separate sitemap
datasource might say that "Folder Y contains Folder X". By
combining these datasources on the client side, you can now
provide a user interface in mozilla that shows you only those
parts of the site that Brian can see, or even create a kind of
view that summarizes what permissions each person has on each
object in the site. All of this without adding code to Zope :)
>
> So, where do we go from here?
>
> Cheers,
> ~Shalabh
As Martijn has posted, the first step is to gather the use cases
for RDF support in Zope, evaluate them and come to agreement on
the scope the project. This is the first milestone. After that,
we will come up with and validate a candidate architecture that
satisfies the use cases. That candidate architecture will be
posted for review and comment (2nd milestone).
We'd like to finish gathering input on the use cases and be
able to produce a "vision" document stating the scope of the
project by the end of this week, if possible.
Brian Lloyd brian@digicool.com
Software Engineer 540.371.6909
Digital Creations http://www.digicool.com