Successfully reported this slideshow.

dotNetRDF - A Semantic Web/RDF Library for .Net Developers

1

Share

Upcoming SlideShare
Introduction to dotNetRDF
Introduction to dotNetRDF
Loading in …3
×
1 of 10
1 of 10

dotNetRDF - A Semantic Web/RDF Library for .Net Developers

1

Share

Download to read offline

Description

A quick overview and introduction to the dotNetRDF Project given in the Technical Lightning Talk session at SemTech West 2011 at the Hilton Union Square, San Fransisco

Transcript

  1. 1. A Semantic Web/RDF Library for .Net Developers<br />Rob Vesse<br />ECS, University of Southampton<br />rvesse@dotnetrdf.org<br />
  2. 2. Motivation<br />Wanted to be able to code PhD Research projects using a .Net technology stack<br />Existing libraries didn’t fit project needs<br />Limited choice of 3rd Party Triple Stores<br />Lack of latest SPARQL Support i.e. 1.1 features<br />Some libraries didn’t really feel like .Net<br />i.e. Java style in design, naming conventions etc.<br />6/6/2011<br />http://www.dotnetrdf.org<br />2<br />
  3. 3. About the Library<br />Completely free and open source<br />Triple licensed – pick from GPL, LGPL or MIT depending on your needs<br />Written in C# for .Net 3.5 and higher<br />Builds for standard .Net, Mono, Silverlightand Windows Phone 7 (latter two are cut down and community contributed)<br />6/6/2011<br />http://www.dotnetrdf.org<br />3<br />
  4. 4. Design Overview<br />Core RDF Model<br />Nodes, Triples, Graphs and Triple Stores <br />Extensible at almost every level<br />Plug in your own implementations to the API for everything from Graphs to external Triple Stores<br />Uses simple and intuitive .Net features<br />LINQ to Objects, Properties, Indexers, Extension Methods etc.<br />6/6/2011<br />http://www.dotnetrdf.org<br />4<br />
  5. 5. Simple Intuitive Code<br />//Load a Graph from a File<br />Graphg = newGraph();<br />g.LoadFromFile("example.rdf");<br />//Print all Triples with a Blank Node Subject<br />NTriplesFormatterformatter = newNTriplesFormatter();<br />foreach(Triple t in g.Triples)<br />{<br />if(t.Subject.NodeType == NodeType.Blank)<br /> {<br />Console.WriteLine(t.ToString(formatter));<br /> }<br />}<br />6/6/2011<br />http://www.dotnetrdf.org<br />5<br />
  6. 6. Leviathan - A SPARQL 1.1 Engine<br />Capable of performing SPARQL queries in-memory on small amounts of data (<=1m Triples)<br />Supports both Query and Update including powerful features like:<br />Property Paths<br />Federated Query Extensions<br />Update Transactions<br />6/6/2011<br />http://www.dotnetrdf.org<br />6<br />
  7. 7. 3rd Party Triple Store Support<br />Supports a range of well known 3rd Party Triple Stores<br />AllegroGraph, 4store, Fuseki, Joseki, Sesame, Talis, Stardog and Virtuoso<br />Plus generic SPARQL store support<br />All accessed by a common interface i.e. easy to switch in and out different storage as needed<br />6/6/2011<br />http://www.dotnetrdf.org<br />7<br />
  8. 8. Tooling<br />We also provide a Toolkit of useful command line and GUI tools<br />Includes utilities like conversion and query<br />Includes rdfEditor our Notepad replacement for RDF and SPARQL editing<br />Designed to make it possible to get you started experimenting with RDF and SPARQL on Windows without having to code yourself<br />6/6/2011<br />http://www.dotnetrdf.org<br />8<br />
  9. 9. Coming Soon<br />Improvements and optimisations of our SPARQL Engine<br />Full RDFa 1.1 parsing support including RDFa in SVG, XML etc.<br />Full SPIN (SPARQL Inferencing Notation) implementation<br />Future Plans<br />Refresh of our SQL based storage options<br />OWL Support<br />SPARQL Extensions<br />Full Text search<br />GeoSPARQL<br />6/6/2011<br />http://www.dotnetrdf.org<br />9<br />
  10. 10. Questions?<br />Via Email: rvesse@dotnetrdf.org<br />Via Twitter: @RobVesse<br />Via Website: http://www.dotnetrdf.org<br />Via Mailing List: dotnetrdf-support@lists.sf.net<br />6/6/2011<br />http://www.dotnetrdf.org<br />10<br />

Editor's Notes

  • Introduce myself and affiliationNote that I intend to go through the slides reasonably fast
  • Lack of existing technology in the .Net space that did what I wantedIn particular 3rd party triple store and SPARQL 1.1 supportWanted library to feel .Net and use latest features
  • Project Started January 2009FOSSNote library runs on .Net and Mono nativelySilverlight/Windows Phone 7 community contribs so not as heavily tested – also cut down
  • Support standard RDF and common extensions to RDF e.g. N3 Graph Literals and VariablesSupports named graphs and quadsKey design aim was to make it feel very .Net and make good use of available features
  • As you can see... (run through the example quickly)
  • Introduce LeviathanMention scalability in-memoryCan be applied to out of memory datasets but currently slower than in-memory (will be modified to address this in future releases)Note support for UpdateNote support for Federated Query ExtensionsNote support for Transactions for Update
  • One of our key aims was always to make it easy to move your data in and out of different Triple storesWe are working on adding more e.g. Dydra
  • We don’t just provide a libraryOur toolkit provides a variety of tools which are useful for day to day non-coding work with RDF e.g. rdfEditorWe eat our own dogfood – any RDF we add to our codebase is almost certainly created and validated using rdfEditor
  • This is a quick overview of a few of the things we’re currently working onMost new features are driven either by user request e.g. Optimiser API in latest release
  • Questions if time
  • Description

    A quick overview and introduction to the dotNetRDF Project given in the Technical Lightning Talk session at SemTech West 2011 at the Hilton Union Square, San Fransisco

    Transcript

    1. 1. A Semantic Web/RDF Library for .Net Developers<br />Rob Vesse<br />ECS, University of Southampton<br />rvesse@dotnetrdf.org<br />
    2. 2. Motivation<br />Wanted to be able to code PhD Research projects using a .Net technology stack<br />Existing libraries didn’t fit project needs<br />Limited choice of 3rd Party Triple Stores<br />Lack of latest SPARQL Support i.e. 1.1 features<br />Some libraries didn’t really feel like .Net<br />i.e. Java style in design, naming conventions etc.<br />6/6/2011<br />http://www.dotnetrdf.org<br />2<br />
    3. 3. About the Library<br />Completely free and open source<br />Triple licensed – pick from GPL, LGPL or MIT depending on your needs<br />Written in C# for .Net 3.5 and higher<br />Builds for standard .Net, Mono, Silverlightand Windows Phone 7 (latter two are cut down and community contributed)<br />6/6/2011<br />http://www.dotnetrdf.org<br />3<br />
    4. 4. Design Overview<br />Core RDF Model<br />Nodes, Triples, Graphs and Triple Stores <br />Extensible at almost every level<br />Plug in your own implementations to the API for everything from Graphs to external Triple Stores<br />Uses simple and intuitive .Net features<br />LINQ to Objects, Properties, Indexers, Extension Methods etc.<br />6/6/2011<br />http://www.dotnetrdf.org<br />4<br />
    5. 5. Simple Intuitive Code<br />//Load a Graph from a File<br />Graphg = newGraph();<br />g.LoadFromFile("example.rdf");<br />//Print all Triples with a Blank Node Subject<br />NTriplesFormatterformatter = newNTriplesFormatter();<br />foreach(Triple t in g.Triples)<br />{<br />if(t.Subject.NodeType == NodeType.Blank)<br /> {<br />Console.WriteLine(t.ToString(formatter));<br /> }<br />}<br />6/6/2011<br />http://www.dotnetrdf.org<br />5<br />
    6. 6. Leviathan - A SPARQL 1.1 Engine<br />Capable of performing SPARQL queries in-memory on small amounts of data (<=1m Triples)<br />Supports both Query and Update including powerful features like:<br />Property Paths<br />Federated Query Extensions<br />Update Transactions<br />6/6/2011<br />http://www.dotnetrdf.org<br />6<br />
    7. 7. 3rd Party Triple Store Support<br />Supports a range of well known 3rd Party Triple Stores<br />AllegroGraph, 4store, Fuseki, Joseki, Sesame, Talis, Stardog and Virtuoso<br />Plus generic SPARQL store support<br />All accessed by a common interface i.e. easy to switch in and out different storage as needed<br />6/6/2011<br />http://www.dotnetrdf.org<br />7<br />
    8. 8. Tooling<br />We also provide a Toolkit of useful command line and GUI tools<br />Includes utilities like conversion and query<br />Includes rdfEditor our Notepad replacement for RDF and SPARQL editing<br />Designed to make it possible to get you started experimenting with RDF and SPARQL on Windows without having to code yourself<br />6/6/2011<br />http://www.dotnetrdf.org<br />8<br />
    9. 9. Coming Soon<br />Improvements and optimisations of our SPARQL Engine<br />Full RDFa 1.1 parsing support including RDFa in SVG, XML etc.<br />Full SPIN (SPARQL Inferencing Notation) implementation<br />Future Plans<br />Refresh of our SQL based storage options<br />OWL Support<br />SPARQL Extensions<br />Full Text search<br />GeoSPARQL<br />6/6/2011<br />http://www.dotnetrdf.org<br />9<br />
    10. 10. Questions?<br />Via Email: rvesse@dotnetrdf.org<br />Via Twitter: @RobVesse<br />Via Website: http://www.dotnetrdf.org<br />Via Mailing List: dotnetrdf-support@lists.sf.net<br />6/6/2011<br />http://www.dotnetrdf.org<br />10<br />

    Editor's Notes

  • Introduce myself and affiliationNote that I intend to go through the slides reasonably fast
  • Lack of existing technology in the .Net space that did what I wantedIn particular 3rd party triple store and SPARQL 1.1 supportWanted library to feel .Net and use latest features
  • Project Started January 2009FOSSNote library runs on .Net and Mono nativelySilverlight/Windows Phone 7 community contribs so not as heavily tested – also cut down
  • Support standard RDF and common extensions to RDF e.g. N3 Graph Literals and VariablesSupports named graphs and quadsKey design aim was to make it feel very .Net and make good use of available features
  • As you can see... (run through the example quickly)
  • Introduce LeviathanMention scalability in-memoryCan be applied to out of memory datasets but currently slower than in-memory (will be modified to address this in future releases)Note support for UpdateNote support for Federated Query ExtensionsNote support for Transactions for Update
  • One of our key aims was always to make it easy to move your data in and out of different Triple storesWe are working on adding more e.g. Dydra
  • We don’t just provide a libraryOur toolkit provides a variety of tools which are useful for day to day non-coding work with RDF e.g. rdfEditorWe eat our own dogfood – any RDF we add to our codebase is almost certainly created and validated using rdfEditor
  • This is a quick overview of a few of the things we’re currently working onMost new features are driven either by user request e.g. Optimiser API in latest release
  • Questions if time
  • More Related Content

    Related Books

    Free with a 30 day trial from Scribd

    See all

    Related Audiobooks

    Free with a 30 day trial from Scribd

    See all

    ×