Hi,

I'm still in an early prototyping mode with the Juuso lab, but I've
already achieved some progress that I'd like to summarize.

The basic RDF model of Juuso is defined in files uri.m, triple.m, and
graph.m. A graph is a set of triples which in turn consist of URI
references. Currently Juuso does not support blank nodes or literals.
There's a very rough output mechanism in n3.m that writes out graphs
in N3 format (kind of).

The most interesting part of current Juuso code is the RDF Schema code
in rdfs.m. The module basically translates the statements of the RDF
Schema specification (in comments) into Mercury predicates and facts.
The mapping is seemingly straightforward, but there are a number of
tricky details like how to avoid infinite recursion in property/4 (it
should support rdfs:subPropertyOf) that I still need to work out.
However, the code can for example already correctly deduce that B is
an instance of C from the following graph:

   <A> <P> <B>
   <P> <rdfs:range> <C>

You can try it out by compiling and running main.m. And since most of
the RDF Schema statements are simply encoded as builtin RDF triples,
Juuso can use the exact same rules to deduce also that P is an
rdf:Property and that C is an rdfs:Class.

Once I'm finished (or happy enough) with the RDF Schema details I'll
start working my way through the OWL definitions and perhaps build
some kind of a demo graph to better illustrate the functionality.

BR,

Jukka Zitting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to