Search code examples
asp.netsparqlsemantic-webjenaontology

Semantic web ontology tools and support for ASP.net projects


DotnetRDF, is the best contribution for Semantic Web support in DotNet, however it doesn't support Ontology as Jena and other Non-DotNet projects do.

Some people are talking about a new stable version of Jena.NET

but the download link doesn't work!, many people in semantic web community are upset because of the poor support for DotNet Framework.

Is there any Tools supports the SW for .Net except the DotnetRDF?

.Net people would really Appreciate any help.


Solution

  • Firstly I want to pick up on one point you made:

    it doesn't support Ontology as Jena and other Non-DotNet projects do

    What exactly do you mean by this?

    Are you talking about the lack of a more ontology/resource centric API in which case have you tried the Ontology API portions of the API?

    Or are you talking about the lack of OWL ontology and/or reasoning support? In which case yes there is nothing/very limited support at the moment and we just don't have the bandwidth to work on these features at the moment

    Like any open source project dotNetRDF relies on the input and contribution of it's developers and users in their free time. If there are missing features that are really important to you then please tell us via our mailing lists and start a discussion.

    You may find the feature you want is relatively easy for us to add (or already there and just not well documented) in which case you could quickly find your problem solved. Or it may be that the feature doesn't yet exist because nobody actually came along and asked for it yet!

    .Net people would really Appreciate any help.

    All new features are driven by the needs of the developers or feature requests from users. dotNetRDF is an open source project so you could always consider contributing the missing features yourself or working with the developers (like myself) to help make the features you want available.

    Secondly I'll attempt to actually answer your question

    As a developer on both dotNetRDF and Jena I personally dislike the notion of Jena.Net, besides the fact that there is likely to be some degree of performance hit involved in running ported code there is the fact that Jena is very non .Net in it's design in many ways - naming conventions, design patterns (static factories everywhere!), complex custom iterator infrastructures and inconsistent package names. While some of this is easily fixable other parts like substituting IEnumerable<T> in every place some specialized iterator is used are not so fixable. There is a reason I started dotNetRDF 3.5 years ago because I wanted a proper .Net native API not some ugly port.

    If there are specific features of Jena that you'd like to see in dotNetRDF I'd be much more interested in just writing native .Net implementations of those features using Jena codebase as a guide. As I noted before maybe you/others would be interested in working on this as a contribution to dotNetRDF

    There are a few other tools around for .Net thought many are abandoned/immature:

    • SemWeb - An abandoned .Net API with similar capabilities to dotNetRDF
    • Intellidimension Semantics SDK - A commercial .Net API with similar capabilities to dotNetRDF but no sign of new development for some time now
    • ROWLEX - A OWL 1 API built on top of SemWeb, abandoned, dead link
    • LinqToRdf - A LINQ to SPARQL converter built on top of SemWeb, abandoned
    • RDFSharp - A very new and very minimal RDF API for .Net, immature
    • BrighstarDB - A .Net native triple store wrapped with Entity Framework stuff, active development
    • dotSesame - A .Net port of the Java Sesame API, active but suffers from same issues as Jena.Net