LinqToRdf* is a full-featured LINQ** query provider for .NET written
in C#. It provides developers with an intuitive way to make queries on
semantic web databases. The project has been going for over a year and
it's starting to be noticed by semantic web early adopters and
semantic web product vendors***. LINQ provides a standardised query
language and a platform enabling any developer to understand systems
using semantic web technologies via LinqToRdf. It will help those who
don't have the time to ascend the semantic web learning curve to
become productive quickly.
The project's progress and momentum needs to be sustained to help it
become the standard API for semantic web development on the .NET
platform. For that reason I'm appealing for volunteers to help with
the development, testing, documentation and promotion of the project.
Please don't be concerned that all the best parts of the project are
done. Far from it! It's more like the foundations are in place, and
now the system can be used as a platform to add new features. There
are many cool things that you could take on. Here are just a few:
Reverse engineering tool
This tool will use SPARQL to interrogate a remote store to get
metadata to build an entity model.
Tutorials and Documentation
The documentation desperately needs the work of a skilled technical
writer. I've worked hard to make LinqToRdf an easy tool to work with,
but the semantic web is not a simple field. If it were, there'd be no
need for LinqToRdf after all. This task will require an understanding
of the LINQ,
ASP.NET, C#, SPARQL, RDF, Turtle, and SemWeb.NET systems.
It won't be a walk in the park.
Supporting SQL Server
The SemWeb.NET API has recently added support to SQL Server, which has
not been exploited inside LinqToRdf (although it may be easy to do).
This task would also involve thinking about robust scalable
architectures for semantic web applications in the .NET space.
Porting LinqToRdf to Mono
LINQ and C# 3.0 support in Mono is now mature enough to make this a
desirable prospect. Nobody's had the courage yet to tackle it.
Clearly, this would massively extend the reach of LinqToRdf, and it
would be helped by the fact that some of the underlying components are
developed for Mono by default.
SPARQL Update (SPARUL) Support
LinqToRdf provides round-tripping only for locally stored RDF. Support
of SPARQL Update would allow data round-tripping on remote stores.
This is not a fully ratified standard, but it's only a matter of
time.
Demonstrators using large scale web endpoints
There are now quite a few large scale systems on the web with SPARQL
endpoints. It would be a good demonstration of LinqToRdf to be able to
mine them for useful data.
These are just some of the things that need to be done on the project.
I've been hoping to tackle them all for some time, but there's just
too much for one man to do alone. If you have some time free and you
want to learn more about LINQ or the Semantic Web, there is not a
better project on the web for you to join. If you're interested,
reply to this email letting me know how you could contribute, or what
you want to tackle. Alternatively join the LinqToRdf discussion group
and reply to this message there.
Thanks,
Andrew Matthews
*
http://code.google.com/p/linqtordf
**
http://msdn.microsoft.com/en-us/netframework/aa904594.aspx
***
http://virtuoso.openlinksw.com/Whitepapers/html/linqtordf/linqtordf1.htm