2. About the presenter
Studied Computer Science at Wrocław University of Technology
Graduated in 2010
Currently works for Infusion Development in Wrocław
Over 5 year of experience with .NET and C#
1.5 years of experience with the Semantic Web
Contributes to dotNetRDF and side projects
Łódzkie Forum Semantic Web, 7.03.2013
4. Library overview
Main author is Rob Vesse
Contributor to Jena
Active member of http://answers.semanticweb.com
Project started in 2009 as part of PhD a project
Released for multiple .NET versions including Windows Phone, Silverlight and Mono
Actively developed; currently approaching version 1.0
Provides a powerful uniform API
Standards-compliant
Łódzkie Forum Semantic Web, 7.03.2013
7. Nodes, triples and graphs
INode interface: IGraph & INodeFactory interfaces
URI node Represents an RDF document
Literal node Enumerable collection of Triples
Blank node Loaded from documents, triple stores or
Variable node as the result of SPARQL queries
Nodes are created in scope of a graph Uses namespace mapper to resolve
using a node factory prefixed names (QNames)
Three nodes form a triple
Convenience methods for handling RDF
lists
Łódzkie Forum Semantic Web, 7.03.2013
8. Loading and saving graphs
Two way support of multiple RDF
serializations:
Turtle, NTriples, N3
RDF/XML
RDF/JSON
TriG, TriX, NQuads
Graphs can be loaded directly from the
web
Triple stores can load graphs
automatically based on URI
Łódzkie Forum Semantic Web, 7.03.2013
9. Triple store support
In memory triple store Support for 3rd party stores
SPARQL support Virtuoso
Serialization into quad datasets Stardog
Multiple interfaces defining store AllegroGraph
capabilities Fuseki
Transactions Dydra
SPARQL Query FourStore
SPARQL Update Sesame-compatible stores
Inferencing Can use a SPARQL endpoint as read-only
triple store
Łódzkie Forum Semantic Web, 7.03.2013
10. Querying and updating
Representing and processing queries Leviathan query processor
Uniform API to query graphs and stores Full SPARQL 1.1 support
(both in-memory and remote) SPARQL Update support
ADO.NET-like parametrized queries Leviathan function library
Fluent query API (coming soon) Jena ARQ function library
Extensible API for handling queries and XPath function library
results Full text queries using Lucene
Optimizers available and extensible
Łódzkie Forum Semantic Web, 7.03.2013
12. Ontologies and inferencing
Ontology API as abstraction over triples
Based on Jena’s API
Limited reasoning support
RDFS resoner @forall :x .
SKOS reasoner { :x a ex:Car } => { :x a ex:Vehicle }
N3 rules reasoner
Remote Pellet Server reasoning
Reasoning easily applied to individual
graphs, in-memory triple stores
Łódzkie Forum Semantic Web, 7.03.2013
13. Configuration API
RDF vocabulary _:store a dnr:TripleStore ;
Configure commonly used objects for dnr:type "VDS.RDF.TripleStore" ;
easy retrieval at runtime: dnr:usingGraph _:a ;
Graphs dnr:usingGraph _:b .
Stores
Endpoints _:a a dnr:Graph ;
Many more dnr:type "VDS.RDF.Graph" ;
Can split configuration into multiple files dnr:fromFile "example.rdf" .
Easily extensible via IObjectFactory
_:b a dnr:Graph ;
dnr:type "VDS.RDF.Graph" ;
dnr:fromUri dbpedia:Southampton .
Łódzkie Forum Semantic Web, 7.03.2013
14. dotNetRDF toolkit
Command line:
rdfConvert
rdfOptStats
rdfQuery
soh (SPARQL over HTTP)
rdfWebDeploy
rdfServer
Window:
SparqlGUI
rdfEditor
Store Manager
rdfServerGui
Łódzkie Forum Semantic Web, 7.03.2013
15. What is missing/roadmap
Current effort focused on: Key missing reatures
Maintenance OWL reasoning
W3C standards compatibility SPIN
Portable Class Library RDFa
JSON-LD
Łódzkie Forum Semantic Web, 7.03.2013
16. My work with dotNetRDF
Łódzkie Forum Semantic Web, 7.03.2013
18. R2RML processor and API
Almost full compliance with R2RML
recommendation
Default mapping generator
RDBMS R2RML RDF
Import and export mappings
API for creating mapping programatically
Processor for actual RDB to RDF
conversion
Łódzkie Forum Semantic Web, 7.03.2013