I'm looking for a library that can deal with RDF and OWL data.
So far I have found:
Your recommendations:
- LinqToRdf (very interesting, thanks mark!)
I researched this just a bit several months ago. One of the more interesting projects I could find is: http://www.hookedonlinq.com/linqtordf.ashx
ROWLEX is actually very cool (uses SemWeb internally). It is not just a browser app but rather an SDK written in C#. If you use ROWLEX, you do not directly interact with the tripples of RDF anymore (though you can), but gives an object oriented look&feel. There are two main usage scenarios:
The typical usage is the Ontology first approach. For example, let us say that your ontology describes the following multiple inheritence scenario:
Car isSubClassOf Vehicle
Car isSubClassOf CompanyAsset
Using ROWLEX, you will get .NET classes for Car, Vehicle, and CompanyAsset. The following C# code will compile without any problem:
RdfDocument rdfDoc = new RdfDocument();
Car car = new Car("myCarUri", rdfDoc);
Vehicle vehicle = car; // implicit casting
CompanyAsset companyAsset = car; // implicit casting
vehicle.WheelCount = 4;
companyAsset.MonetaryValue = 15000;
Console.WriteLine(rdfDoc.ToN3());
This would print:
myCarUri typeOf Car
myCarUri WheelCount 4
myCarUri MonetaryValue 15000
The "car" business object is represented inside the RdfDocument as triples. The autogenerated C#/VB classes behave as a views. You can have several C# views - each of a completely different type - on the same business object. When you interact with these views, you actually modifying the RdfDocument.
We just pushed out the v2.0 of our Semantics Platform. It’s a complete product family built on the .NET Framework for loading, storing, query and reasoning on small or very large sets of RDF data. We offer a storage solution built on SQL Server that supports SPARQL and reasoning or our distributed store that can be deployed across multiple servers in a cluster.
We offer a free evaluation to any of the technology and a free express edition for the core RDF .NET libraries that include all the parsers, streams, SPARQL and inference rule processing. The express edition is actually quite powerful since it contains all the core SPARQL processing algorithms that are in our high-end products. The express edition also contains some visual development tools to make it simple to load RDF data and query it.
Check it out if you are interested: