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]
