Tuesday, June 21, 2005

Scripting the Semantic Web

Semantic Web, meet Ruby on Rails "OWL is capable of defining a rich object model with classes, properties and instances, which led me to consider the possibility of a separating domain model maintenance from the implementation of services that leverage the model. I've seen attempts to realize this vision, but the only ones I can remember involve code generation, particularly from UML models and have not been particularly successful. Ruby, being a dynamic language with rich metaprogramming facilities presents some interesting possibilities for using shared domain models since it allows runtime definition of classes. It should be possible to write a library for Ruby that loads entire object models and instances on the fly, much in the same manner that Ruby on Rails ActiveRecord loads its class definitions for persistent classes directly from database metadata."

Also related, Deep Integration of Scripting Languages and Semantic Web Technologies "Instead of loading an ontology, the notion of importing one leads to a different association for the programmer. The difference may be regarded as pedantic or subtle, but it is an important one: the programmer, instead of regarding the ontology as mere data she has to load and access via an API, the imported ontology behaves like a library, extending her possibilities like only code does."

What's covered in the second paper is the problem of the Open World Assumption, in programming they state that we need a third value "unknown" rather than just true and false.

Somewhat related, Hitting reload is the framework job "What's the point in designing tables for a webapp when an RDF-backed store will manage the data for you and RDF queries will come back as tabular data anyway? There are RDF triple stores that will handle in the order 10^6 statements - Leigh Dodds is doing some research on that, up to 10^8 by the looks of things. If I need queries instead of hacking out iterators+fiters I'll use versa/itql/rdql. Now, saying I never want to design another relational schema again is not to say I don't want to use a database. Most of these RDF triple stores are in fact using an RDBMS in the background, as the filesystem and indexer, it's just that the relational schema in use is not exposed to the application."

No comments: