.NET Framework RDF APIs
Universitatea ”Alexandru Ioan Cuza”, Iasi
Abstract. This paper aims at comparing the set of options that a .NET
Framework developer has when he chooses to work with semantic web,
particularly with RDF. There will be 4 APIs reviewed, both FOSS and
proprietary, that will then be analysed and graded by the following cri-
teria: means of tuple storage, SPARQL support, performance, IDE inte-
gration, project maturity, level of documentation and ﬁnally licensing.
Project URI: http://razor.occams.info/code/semweb/
Author: Joshua Tauberer
First released: June 10 2005
Latest release: May 11 2009
Latest stable version: 1.064
Project status: dead
SemWeb was a library developed by Joshua Tauberer (http://razor.occams.info/)
between 2005 and 2009. It is used by Gnome F-Spot and was preferred by the
author in 2008 while developing his BSc degree project. Other projects using
SemWeb are ROWLEX (discussed further in the paper), Gnome Beagle and
Sentient Knowledge Explorer.
The library supports memory ﬁles, disk ﬁles but can also be backed by a either
a MySQL Server, Microsoft SQL Server or PostgreSQL engine. The implemen-
tation for each of these stores can be studied further from the source code  or
the documentation . The storage class can be extended so that the client can
implement its own storage method.
1.2 SPARQL support
The SPARQL library included in SemWeb is a fork of the Java Sparql Engine
 which has been converted to C# using http://www.ikvm.net/. Therefore,
SemWeb has full SPARQL support, including translation of SPARQL into SQL
when possible. The author made available two modules in addition, a remote
SPARQL data source client and an ASP.NET SPARQL Protocol Server handler.
Further references can be found here  .
At version 0.85, the project owner used a single core 1.8 Ghz AMD with Fedora
Core 6 and Mono 1.2.3 to run the LUBM benchmarks. The tests were 6.9 million
statements over 1000 ﬁles totaling 540 MB.
The results are as following :
Storage Time Storage size
reading 5 min (23k stmts/sec) n/a
N3 ﬁle on disk 9 min (12k stmts/sec) n/a
mysql 30 min (3.8k stmts/sec) 769MB (117 stmts/sec)
sqlite 72 min (1.6k stmts/sec) 1.1GB (162 bytes/stmt)
postgresql 94 min (1.2k stmts/sec) 1.6MB (238 bytes/stmt)
Later, another benchmark was ran, using the Berlin SPARQL Benchmark,
on a Intel Core 2 Duo at 3.00 Ghz, 2GB RAM and 32 bit Ubuntu 8.04.
The results are detailed by the library author .
1.4 IDE Integration
SemWeb has no IDE integration. It is distributed as a binary dll or as a Visual
Studio project along with a set of binary command line tools for quick querying
of data stores or document conversion.
The source code (http://razor.occams.info/code/repo/?/semweb/) is poorly com-
mented, but very clear and simple. The author of the library compiled an API
reference that can be found here , a ”getting started” guide  and a series of
sample C# programs  .
SemWeb is licensed under GNU GPL v2. The SPARQL engine is licensed under
GNU LGPL, the Euler proof mechanism is under W3C Software License.
Project URI: http://rowlex.nc3a.nato.int/
Author: NATO C3 Agency
First released: could not be determined, but the ﬁrst version targeted .NET
Latest release: July 15 2009
Latest stable version: 2.0.1
Project status: Under development
ROWLEX stands for Relaxed OWL EXperience and it has been developed
by NATO’s C3 Agency as a MVC system that abstracts RDF tripes, making it
easier to work with OWL using C#.
ROWLEX doesn’t provide a data store, as it is targeted at reading and writing
RDF documents and ontologies.
2.2 SPARQL support
No SPARQL support
2.4 IDE Integration
No IDE integration, as the library is distributed as source code and binary, along
with a set of GUI utilities for extracting ontologies.
Despite the fact that the project is quite old, the creators compiled a set of ”How
to” guides  but no API reference. The project is oﬃcially using Stackoverﬂow
to oﬀer support, using the ROWLEX tag .
The code is licensed under GNU LGPL.
3 Intellidimension Semantics.SDK
Project URI: http://www.intellidimension.com/products/semantics-sdk/
First released: Could not be determined
Latest release: October 28 2009
Latest stable version: 184.108.40.206
Project status: Under development
Intellidimension is a company which is developing an integrated system tar-
geting semantic applications. The company claims it has worked closely with
Microsoft  to create a system for manipulating data formats using industry
Intellidimension provides an eﬃcient in-memory graph storage for the SDK and
a Micorosft SQL Server backend persistance for the Semantic Server. The Server
also supports ﬁle based persistance for large dynamic RDF models.
3.2 SPARQL support
Full SPARQL support is provided, along with integration with T-SQL. Also,
T-SQL can be used to join both relational and semantic data. The feature of
distributed RDF graphs (graphs that are partitioned across multiple servers)
implies distributed SPARQL, using a in-memory cache 
The vendor never made public any information about benchmark tests or overall
performance, except for the words used to describe the products.
3.4 IDE Integration
Intellidimension developed a set of tools for Visual Studio and a set of extensions
for SQL Server to integrate seemlessly with the usual .NET developer’s workﬂow.
The Visual Studio Designer uses Silverlight for the presentation, and also the
reports and drawings use the same RIA technology.
The project is heavily documented  and the company maintains a small blog
with which it hopes to gain more popularity .
Proprietary, with a 60 day trial evaluation period.
Project URI: http://code.google.com/p/linqtordf/
Author: Andrew Matthews
First released: June 2007
Latest release: August 2008 - version 0.8
Latest stable version: none
Project status: dead
LinqToRdf is a new project that uses the LINQ query provider to integrate
the semantic web into .NET applications, along with a set of extensions to the
Visual Studio environment.
It uses in-memory stores, but mentions and recommends the SemWeb library
for this issue.
4.2 SPARQL support
Full SPARQL support for generating SPARQL from code.
4.4 IDE Integration
Very easy integration with Visual Studio, as a plugin that installs a designer
for RDF with code generation . The library is distributed as a msi, not as a
Poorly documented, and using the Google Code wiki as a support .
The project is licensed under the BSD License.
5 Other smaller project worth looking at in the future
Project URI: http://www.dotnetrdf.org/
Latest release: September 25 2009 - Version 0.0.1 Alpha
The library is the result of Rob Vesse’s PhD work. It’s an immature library,
but it has been contributed to very often by the author. It has full SPARQL
support, and also integrates with the Talis platform and Virtuoso.
Project URI: http://freshmeat.net/projects/greengrass/
A small but quick API for the CLR (with implementations in C#, Boo,
IronPython) that supports .NET class serialization into RDF and OWL.
The following table summarises all the features described in the paper for all the
SemWeb RowLex Intellidimension LinqToRdf
Author Joshua Tauberer NATO C3 Agency Intellidimension Andrew Matthews
Latest ver. 1.064 (May, 2009) 2.01 (July, 2009) 220.127.116.11 (October, 0.8 (August 2008)
Storage memory, ﬁle, N/A Memory, dis- memory
MySql, SQL server, tributed, ﬁle, SQL
SPARQL full N/A full generating only
IDE support N/A N/A full code designer
Documentation full api and usage very little full api and usage very little
License GPL LGPL Proprietary BSD
1. Joshua Tauberer, http://razor.occams.info/code/semweb/
This article was processed using the L TEX macro package with LLNCS style and it is
released under the Creative Commons Attribution-Share Alike 3.0 license