Re: Intellidimension RDF Gateway Package for URI Query Agent (URIQA) Specification

----- Original Message -----
From: "ext Derrish Repchick" <drepchick@intellidimension.com>
To: <www-rdf-interest@w3.org>
Sent: 02 July, 2003 16:13
Subject: Re: Intellidimension RDF Gateway Package for URI Query Agent
(URIQA) Specification


>
>
> > >
> > > > I've got a few preliminary comments/questions (more sure to be
> coming):
> > > >
> > > > 1. One thing I noted when going through the online documentation for
> > your
> > > > URIQA package, in the definition
> > > >
> > > > function Package_OnPutDescription()
> > > > {
> > > >     if (Request.serverVariables["HTTP_URI_RESOLUTION_MODE"] !=
> > > > "Description")
> > > >     {
> > > >         Response.statusCode = 501;
> > > >         return; // Not a URIQA request
> > > >     }
> > > >
> > > >     // Get the URI of the resource from the request
> > > >     var id = new Resource(Request.serverVariables["REQUEST_URL"]);
> > > >
> > > >     // Read the resource description from the request and parse the
> > > contents
> > > >     // as RDF/XML using the Inet data service.
> > > >     var data = Request.binaryRead();
> > > >
> > > >     var ds = new DataSource("inet?parsetype=rdf&src=" +
> > > > Server.urlEncode(data));
> > > >
> > > >     // Add only the statements about the resource to the description
> > > table.
> > > >     var rs = (INSERT {?p ?s ?o} INTO uriqa USING #ds RULEBASE uriqa
> > > >         WHERE (?s=#id OR getAnon(#id, ?s)) AND {?p ?s ?o});
> > > >
> > > >     Response.addHeader("URI-Resolution-Mode", "Description");
> > > > }
> > > >
> > > > your implementation would fail to commit any reifications or
> > > > statements about any anonymous node values.
> > > > Ideally, there would exist as part of the URIQA package, a generic
> > > > method akin to getDescription() in my Java implementation, which
> > > > given a URI and a knowledge base, would extract a concise bounded
> > > > description of the resource from the knowledge base. The input
RDF/XML
> > > > could then be parsed and loaded into a temporary knowledge base, the
> > > > description extracted, and then committed to the persistent
knowledge
> > > > base. Of course, that same function would find use throughout all of
> > > > the URIQA defined behavior of the package, for the other methods as
> > well.
> > > >
> > >
> > > The implementation above makes use of two tables. The first table "ds"
> is
> > a
> > > local in-memory table that is loaded by parsing the posted RDF/XML.
The
> > > second table "uriqa" is a global disk-based table that acts as the
> > > application's knowledge repository. The INSERT command shown above
> copies
> > > all of the statements about the request URI ("id") from the request
into
> > the
> > > repository. This command makes use of an inference rule "getAnon" (see
> > > below) that recursively returns the uri's of all embedded anonymous
> nodes.
> > > This ensures that all statements about the anonymous node are also
> > inserted
> > > into the knowlege repository.
> > >
> > > INFER getAnon(?s, ?anon) FROM ({?p ?s ?anon} AND (substr(?anon, 0,
> > > 5)="guid:") OR getAnon(?s, ?anon));
> >
> > Right. Missed that.
> >
> > OK then for anonymous nodes. How about reifications? ;-)
> >
>
> What are you looking for w.r.t reifications, statements by the URI or
about
> the URI or both? The answer either way would be to use inference rules*.
>
> *I should say to use the correct inference rules, the one shown above is
> incorrect (so much for my logic programming). I will fix the rules with
the
> addition reification and update the URIQA sample package on our site.

Cool.

Patrick

Received on Thursday, 3 July 2003 03:54:43 UTC