1

4

I recently began my journey in semantic web and modelling. Unfortunately I'm Microsoft-fed developer and so far the semantic world seems to be on Java/Linux side. Does anyone know or have experience with .Net based or compatible triple store or reasoning engine?

flag

5 Answers

0

Take a look at Intelldimension's offerings. They have trial licenses so you can evaluate their tools.

I have used all of their products extensively (part of my job) for the last 4 years and highly recommend their Semantic Web solutions.

They offer a Semantic Web SDK for working with graph data within .NET as well as a Semantic Web server pack that enables SQL Server 05/08 as a graph store and SPARQL query processor.

Intellidimension Web Site

link|flag
Thank you very much! I will take a look at Intellidimension! – ViktorZ Oct 30 at 8:51
2

For free and open source offerings, you can use SemWeb.Net and on top of that you can use LinqToRdf for LINQ (language integrated query) on .NET 3.5 and (possibly) Mono 2.4.

SemWeb provides a port of the Euler reasoning engine.

link|flag
SemWeb.Net is really immature and uses in-memory data storing and reasoning. And this is not suitable for our use case. Anyway thanks for the answer. – ViktorZ Oct 30 at 8:52
As for the relative immaturity - there's nothing that could classify as mature in the .NET space, since everything out there counts as recent. SemWeb.NET can work against in memory data stores, but is not bound by it. I've used SemWeb.NET to communicate using SPARQL with (e.g.) Jena data stores using Joseki. – Andrew Matthews Oct 31 at 2:28
The library may be many things, but after four years it's not immature. It's by far the most mature SW library on .NET. (disclaimer: I'm its author.) – Joshua Tauberer Nov 3 at 18:37
Excuse my label for SemWeb.Net. A lot better description was "could not bend it to do what I wanted to" and "I failed to reach my goals in allowed amount of time". Never wanted to hurt anyone feelings or product. :) – ViktorZ Nov 4 at 11:30
It is my opinion that the .NET offerings from Intellidimension are quite mature. I work at Microsoft now but we have engaged closely with Intellidimension to build their .NET Semantic Web SDK and SQL storage solution. We have been directly working with them for ~5 years now and previous to that they were working on their own for another 5 years. So there is ten years of development and use there. – spoon16 Nov 4 at 21:54
show 5 more comments
1

It always depends what you want to do (more owl like reasoning or more the rdf/s and such) but there is the port of openRDF sesame in .net dotsesame

Never used it though (only the original java version) but it might be worth a look given that sesame is quite a good general purpose library / triple store

link|flag
Thank you! I will take a look there. Sounds interesting – ViktorZ Oct 30 at 8:54
1

So this probably won't help as you classed SemWeb as immature but I'm working on a new C# API called dotNetRDF which is available at http://www.dotnetrdf.org. This is pretty early Alpha still so if SemWeb is too immature then this won't be for you but thought I'd put it out there.

Currently reasoning is not supported in the library itself (though basic reasoning is being added for the next release) but it does support both the Talis platform and Virtuoso

Anyone who does want to try it should read the Known Issues - http://dotnetrdf.org/content.asp?pageID=Known%20Issues - in particular the in-memory SPARQL is quite buggy and doesn't scale so well in the current release.

link|flag
Looks nice, but why did you decide to start something from scratch and not build off of SemWeb.NET? – Joshua Tauberer Nov 3 at 18:44
My main issue was that it was still .Net 2.0 and I really really like using LINQ, a lot of the stuff in my library is built using LINQ. While you can use LinqToRdf with SemWeb in effect you're adding an extra layer of overhead by sticking a SPARQL endpoint in the middle which isn't ideal. Plus you yourself have stated you're taking an indefinite hiatus from the project so there won't be further development – Rob Vesse Nov 3 at 20:10
Well, you could continue development. :) Plus I'd be more likely to work on it if there were someone else involved. – Joshua Tauberer Nov 4 at 13:37
LinqToRdf doesn't have to target SPARQL either, it just happens that I wanted to target a triple store with reasoner support (namely Jena/Joseki) so I put more effort into the W3 recommended standard. You can also target in-memory or persistent queries using SemWeb.net's own query language as well. – Andrew Matthews Nov 10 at 2:00
Ok my mistake, all the documentation I'd read seemed to focus on the connecting to a SPARQL endpoint, at some point I may get round to writing LinqToRdf integration into dotNetRDF but I have way too many other things to fix and do first – Rob Vesse Nov 10 at 9:25
show 1 more comment
1

There is an old (i.e. 11 February 2006) blog post from Andy Seaborne which describes how you might use IKVM to convert Jena and related jars into .NET assemblies.

link|flag
1 
Thank you! I have tried IKVM to convert Pellet, but it didn't went well at first and I was pressed to move forward. I will find some time to give it another try. – ViktorZ Apr 15 at 6:35
Hopefully at some point later this year (likely late Autumn) I should be bringing Pellet support to dotNetRDF but that's not really any use to you right now I guess – Rob Vesse Apr 15 at 13:58
ViktorZ, perhaps, you could share more details on what didn't go well. Others might help or benefit. You could even ask the Pellet mailing list. Have you tried Jena or TDB as well? – castagna Apr 15 at 19:30

Your Answer

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.