190 likes | 315 Views
Everyday Tools for the Semantic Web Developer. Rob Vesse rvesse@dotnetrdf.org University of Southampton. About Me. Currently writing up my PhD Thesis “Link Integrity for the Semantic Web” Run the dotNetRDF Project Started January 2009 Current Releases 0.5.0 Beta (API)
E N D
Everyday Tools for the Semantic Web Developer Rob Vesse rvesse@dotnetrdf.org University of Southampton
About Me • Currently writing up my PhD Thesis • “Link Integrity for the Semantic Web” • Run the dotNetRDF Project • Started January 2009 • Current Releases • 0.5.0 Beta (API) • 0.3.0 Alpha (Toolkit) http://www.dotnetrdf.org
My Life as a Semantic Web Developer • Constantly working with different data sources, formats, vocabularies etc. • Was frustrated by limited tooling around conversion, query and editing • Especially the *nix/Java bias of available tooling • Seemed pointless to keep writing tiny Java/.Net programs to do everyday tasks http://www.dotnetrdf.org
Tools • All free to use/open source • All of which I’ve used at one stage or another • Some of which I use on a daily basis • Demos • I’ll demo as many of these I can get through skipping over a few of the lesser used/duplicate tools http://www.dotnetrdf.org
Tools – Data Conversion • Often you get data in format X but you need it in format Y • These utilities can convert between formats • Examples • rapper • rdfcopy • rdfconvert http://www.dotnetrdf.org
rapper • Part of the Redland family of tooling by Dave Beckett • http://librdf.org/raptor/rapper.html • *nix based – needs cygwin on Windows • Example Usage: • rapper –g –o turtle input.rdf > output.ttl http://www.dotnetrdf.org
rdfcopy • Part of the Jena family of tooling • http://jena.sourceforge.net/javadoc/jena/rdfcopy.html • Example Usage: • rdfcopy.bat input.rdf RDF/XML N3 > output.n3 http://www.dotnetrdf.org
rdfConvert • Part of the dotNetRDF Toolkit • http://www.dotnetrdf.org/content.asp?pageID=rdfConvert • .Net Based – needs Mono on *nix • Example Usage: • rdfConvertinput.rdf –out:output.rj • Has a rapper compatibility mode: • rdfConvert –rapper –g –o turtle input.rdf > output.ttl http://www.dotnetrdf.org
Tools - Editing • There are very few pure text editors for RDF • Most are over complex and overpowered for just editing a few triples by hand e.gTopBraid Suite, Protege • Examples • rdfEditor http://www.dotnetrdf.org
rdfEditor • Part of the dotNetRDF Toolkit • http://www.dotnetrdf.org/content.asp?pageID=rdfEditor • Windows only – Mono does not support the required APIs currently • Notepad replacement for RDF Editing with syntax highlighting, auto-complete and validation capabilities http://www.dotnetrdf.org
Tools - Query • You don’t want to have to create a SPARQL endpoint/write code just to test out some simple queries • Examples • arq.query • SparqlGUI • Twinkle http://www.dotnetrdf.org
arq • Part of the Jena family of tooling • http://jena.sourceforge.net/ARQ/cmds.html • Provides a command line interface to the Jena ARQ query library – probably the most mature and complete SPARQL 1.1 engine available • Example Usage: • arq.bat --query query.rq --data data.ttl http://www.dotnetrdf.org
SparqlGUI • Part of the dotNetRDF Toolkit • http://www.dotnetrdf.org/content.asp?pageID=SparqlGUI • .Net Based – needs Mono on *nix • GUI Interface for quickly testing queries http://www.dotnetrdf.org
Twinkle • GUI Interface for SPARQL queries built by Leigh Dodds (Talis) • http://www.ldodds.com/projects/twinkle/ • Note – AFAIK no longer actively developed and used out-dated version of ARQ so doesn’t support SPARQL 1.1 fully http://www.dotnetrdf.org
Tools – Storage and Management • Most Stores require a lot of setup to use • For simple prototypes this is overkill • Most Stores have web based interface or custom client • No standard user experience • Custom clients often contain arcane and specialist features that aren’t relevant to average user • Examples • Fuseki • Sesame Windows Client • Store Manager http://www.dotnetrdf.org
Fuseki • Part of the family of Jena Tooling • http://openjena.org/wiki/Fuseki • Provides a HTTP server for SPARQL Query and Update runnable from the command line • Can use persistent TDB storage (Jena’s native triple store) • Example Usage: • java –jar fuseki-sys.jar --update --loc=DB http://www.dotnetrdf.org
Sesame Windows Client • Developed by JeenBroekstra and Anton Andreev • http://sourceforge.net/projects/sesamewinclient/ • .Net Based – needs Mono on *nix • GUI Interface primarily for Sesame though supports a limited range of other triple stores http://www.dotnetrdf.org
Store Manager • Part of the dotNetRDF Toolkit • http://www.dotnetrdf.org/content.asp?pageID=Store%20Manager • .Net Based – needs Mono on *nix • GUI for working with a variety of Triple Stores through a standard interface http://www.dotnetrdf.org
Questions? rvesse@dotnetrdf.org Twitter: @RobVesse