views:

201

answers:

2

If you've worked on a project that stores data for use with the semantic web, do you use RDF or even OWL as the internal data format or do you have your own data model/ontology that you map to RDF for interoperability?

If you use RDF, what are your experiences with implementing various things like cyclical class hierachies?

If you do your own thing, how does it differ from RDF/OWL?

A: 

I'm currently working on some really small projects in this area and I "mostly" use RDF there, although for parsing purposes I use a simple URI-registry in order to avoid cycles in the data structure itself. Although, I have to say that I'm still in the conceptual stage of these projects. In the end I rely mostly on 3rd-party storage backends like Jena, rdflib et al.

Horst Gutmann
+2  A: 

I work alongside the Jena team at HP (indeed, have contributed to Jena myself), so using Jena is a fairly straightforward choice in our team. However, there are more reasons than just "next-bench" convenience. The various standards for the semantic web contain quite a bit of detail and complexity, and getting that right isn't an easy thing to do by yourself. I've come across a number of downloadable ontologies and other datasets that, for example, don't conform to the IRI spec. In an entirely self-contained application it probably doesn't matter too much if you cut corners against the standards, but in that case you need to ask why you are using semantic web techniques in the first place. For me, a strong value in the semweb approach for an application would be data-interop and open data linking, in which case standards conformance is pretty central.

Most of my data is in a triple store, but I do use custom tables as indexes for commonly asked queries. If you know the query pattern ahead of time, a well-indexed table in a good db engine is going to be hard to beat for a generic schemaless triple store.

Obviously, one drawback to using Jena is that it's Java specific. I do use Jena with jruby, but I'm looking forwards to a good native Ruby RDF library (work is underway). I'd also like more complete RDF/OWL support in Javascript and Flex for when we're doing complex rich client interfaces.

Ian

Ian Dickinson