190 likes | 328 Vues
This guide outlines essential tools and resources for developers working in the Semantic Web space, particularly with RDF. It highlights the challenges of working with various data sources, formats, and vocabularies and presents solutions for data conversion, editing, querying, storage, and management. Tools like dotNetRDF, rapper, rdfcopy, and others are discussed, focusing on their usability and relevant features. Whether for simple tasks or complex applications, these open-source, free tools are invaluable for enhancing productivity in Semantic Web development.
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