SemPlan RdfLib Version 0.2
I've just uploaded version 0.2 of our Mono/.NET RDF library. We've improved just about everything that was included in 0.1 and added lots of new features, laying the groundwork for the future. The most important change is in the licence which is now less restrictive. We've adopted the MIT license which is the same license that the Mono project uses to license their class libraries. Our previous license was BSD based and required an attribution in the documentation for any application using RdfLib - that's all gone now.
Over the last few months we spent a lot of time examining RdfLib and Carp and we've pushed a lot of the useful classes from Carp down into RdfLib. Carp is lighter and RdfLib is more functional. One thing that emerged from Carp's KnowledgeBase class was a TripleStore interface that represents some storage for triples. We've refined this and moved it into the core of RdfLib and it's now responsible for the organisation of any RDF data that is being processed. There are two implementations at the moment: MemoryTripleStore is an in-memory store suitable for small, ad-hoc processing and MySqlTripleStore which will become capable of storing much larger quantities of data for long durations. We've had some ups and downs with MySQL, mainly around the quality of the drivers available for use with Mono. At this stage we consider the MySqlTripleStore to be alpha quality. It's usable but performance is a big issue. One of us will write more on that another time hopefully.
Feature-wise the biggest addition is the query capabilities. We have a pattern-based query implementation including a backtracking query solver that can be applied for any triple store and one optimised for mySQL. Our general principle is to provide default implementations of interfaces that work as efficiently as a general purpose algorithm can, while creating much more performant implementations for specific situations. Unfortunately there are no query language parsers yet, all queries have to be constructed out of objects. We plan to turn our attention to parsers in the next release (see the roadmap). The next exciting addition follows straight on from querying: rule processing. We have implemented a very basic rule processor capable of expressing the RDFS entailment rules. Version 0.2 of Carp uses it for that exact purpose.
There's lots of work yet to be done, but we're having fun, learning a huge amount and hopefully producing some useful software.
Direct downloads: binaries, source, docs, license
4 Comments
Leave a comment
Sorry, the comment form is closed at this time.

[…] RSS 1.0 (comments)
⇐ previous entry […]
Pingback by Semantic Planet :: Carp Version 0.2 — 22 Dec 2004 @ 3:43 pm
[…] s to be a bit more movement around creating semantic web tools for .net. In particular carp and semplan. Good to see, I try and write about how semantic web applications should be […]
Pingback by Bird's Eye View Blog — 23 Dec 2004 @ 11:35 pm
Hi,
I'm just starting on this awesome world of the semantic web. I'm interested in persistence of RDF on relational databases, so I got to your site after searching for a while.
I have read on this topic that
Sorry for the previous post. Following "I have read on this topic that" I wanted to write:
"There are two implementations at the moment: MemoryTripleStore is an in-memory store suitable for small, ad-hoc processing and MySqlTripleStore which will become capable of storing much larger quantities of data for long durations."
Comment by Jose A. — 21 Jan 2005 @ 7:53 pm