We are not only working hard on Artivity but we try to constantly improve upon the Trinity framework, as well as general tooling for Semantic Web technologies with C#. So here is a small overview of the things that are currently on our agenda:
Ontologies are at the heart of every Linked Data project. Here we always have to compete with all other data modelling tools for Visual Studio and some developers raised the issue that there is no integration into the IDE. So we are doing exactly that.
We have created editors for popular ontology serialization formats like Turtle, N3 etc. They offer syntax highlighting as well as auto-completion. Additionaly they tie in with our own Trinity Framework, so you can create a bootstrapping object model from an ontology with few simple mouse clicks. Further down the road we want to add a graphical editor where you can get a better overview of the ontology terms.
Using the feature-rich Virtuoso database server, we have created a package to deploy an embedded triple store that can be instrumented using C#. It can serve the same needs as Microsofts SQL Server Compact.
There are a number of use cases for such a store:
- We use it to do the integration tests for our software. We can do the instrumentation of the database directly in the tests and verify that everything works as it should.
- For desktop applications that need the features like inferencing it is often easier to deploy a store on demand instead of trying to start a service.
- In todays development culture it is important to get a prototype out of the door as fast as possible. This often means that dealing with deployment issues like configuring the database server is something that people rather push back. With TinyVirtuoso you won’t have to deal these issues until better scalability is required.
LINQ support for Trinity
Though we already have the Resource Query API for retrieving data from the RDF database, we still feel that the Trinity is still lacking a bit in that aspect. For one we feel that there is a disparity between using the RDF properties for queries and the C# properties for the mapped classes. Additionally, LINQ is the standard way of writing queries in C# and we want to adhere to that. So we are currently working on implementing LINQ querying for mapped classes. Still, you won’t be able to get the full potential that SPARQL has to offer, but it should speed up development for your typical day to day queries.