InstantRDF Package for Umbraco
A step towards linking Umbraco to the Semantic Web
This package does the following:
- Exports your document types structure as an ontology to an RDF graph.
- Exports your content nodes as resources to a separate RDF graph.
- Makes all the URIs (IRIs), contained in the above, dereferenceable. The ontology IRIs get dereferenced to a page, listing the entire ontology, and the rest of the resources to pages displaying the resources they are linked to.
- Sets up a SPARQL endpoint on your web site with a file-based triple store. If you would like to use a third party triple store like Virtuoso, Sesame, 4store, etc, the package allows you to configure your installation to interoperate with one.
- Allows you to link the generated datastore to other datastores by using Umbraco tags.
- A macro is also included which, when placed in a template, retrieves a summary of the resource referred to by each such tag and displays it as an external article with a reference to the source of the content. For the moment, summaries of Wikipedia entries can be retrieved from resources linking to DBpedia (make sure you uphold their licensing terms though:)).
- Allows you to produce a more standardised ontology by declaring equivalences between the auto-generated property predicates and predicates declared in namespaces such as SKOS or Dublin Core.
- Allows you to annotate your templates with RDFa, linking displayed html tags with predicates from your ontology and linking each page with its corresponding resource in the triple store.
For a demonstration of how the package works, have a look at some individuals, the ontology and the SPARQL endpoint, set up on this website. Also, at the bottom of many pages, you can see various external articles, like the ones mentioned above.
Please see this blog post for the big picture: Integrating Umbraco with Semantic Web Technologies
I have made a video of how it works. Please also read the documentation in order to find out all the details.
The source code is available on GitHub.