Re: SWI-Prolog 3.3.7

> As an old Prolog user (I haven't touched it for 10+ years), I find the
> idea of using Prolog over XML structures very exciting.
> 
> Have you considered generalizing this approach to more than just RDF ?

We use it for document transformation (cf. XSLT). Actually RDF
interpretation is a form of document transformation (there is also a
simplified? RDF parser in XSLT). Sofar we are happy with this. It is
fast and easy to program. A colleque (Anjo Anjewierden) is working on
this. He has written some infra-structure to support writing
transformations. You'll find some pattern-matching support in the RDF
parser too.

I think this technology can be applied for most processing of SGML/XML
and related languages.

One of the few drawback appears the lack of `identity' of elements if
you represent these as element(Name, Attributes, Content): it is hard
to point to a specific element.  This could be fixed for example by
creating a binary tree as index.  We haven't had sufficient strong
demands to play with this.

> The structure of a "simple" XML document could also be viewed in terms
> of predicates (and the topic maps can also be worth having a look).

Sofar we represent XML documents as element(Name, ListOfAttributes,
ListOfContent), where ListOfAttributes is a list of Name=Value and
ListOfContent is a list using atoms for CDATA and element structures
for elements.  You could of course also use predicates, but for most
purposes a Prolog term appears more interesting.

Topic maps are RDF-like meta-data and using predicates here might be
a good choice.

> The ability to output RDF (or XML) is also something which could be
> great (allowing to transform RDF documents).

That is surely something we will be looking into.

> Can you share your plans in this area ?

Sure. Basically we have the need to represent and reason with
information from multiple thesauri and ontologies. Our department likes
Prolog a lot, and have asked me to come up with a Prolog-based infra
structure to deal with this. Exchange and collaberation in various
projects have suggested the use of RDF as exchange basis.

Our plan for now is to realise a Prolog-hosted system that can parse
RDF and RDF schema, can exchange its knowledge in RDF, reason using an
RDF Query language (to be decided) and deal with substantial RDF bodies
(we aim at say 5 million triples on commonly available (PC-) hardware).

The parsing technology appears useable now.  We're working on storage
based on the Berkeley DB engine.  Little work has been done on the rest.
If there are people willing to cooperate, notably on the query
subsystem, please contact me.

	Regards --- Jan

Received on Monday, 19 June 2000 10:59:22 UTC