SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Introduction to dotNetRDF
Łódzkie Forum Semantic Web, 7.03.2013
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
Library overview




Łódzkie Forum Semantic Web, 7.03.2013
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
Core concepts




Łódzkie Forum Semantic Web, 7.03.2013
Core concepts

                     Triple             IGraph

                     stores
                                                 INode

                    Graphs
                                        INode

                    Triples
                                                 INode
                Nodes
         (subjects, predicate
              s, objects)
Łódzkie Forum Semantic Web, 7.03.2013
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
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
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
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
Advanced topics




Łódzkie Forum Semantic Web, 7.03.2013
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
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
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
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
My work with dotNetRDF




Łódzkie Forum Semantic Web, 7.03.2013
Fluent SPARQL API
 SELECT ?t ?p                           QueryBuilder.Select("t", "p")
 WHERE                                  .Where(tpb => tpb
 {                                        .Subject("x").PredicateUri("dc:title").Object("t"))
    ?x dc:title ?t .
    OPTIONAL                            .Optional(opt =>
    {                                   {
       ?x ns:price ?p .                   opt.Where(tpb => tpb
       FILTER (?p < 30)                     .Subject("x").PredicateUri("ns:price").Object("p"));
    }                                     opt.Filter(eb => eb.Variable("p") < 30);
 }                                      }).BuildQuery();




Łódzkie Forum Semantic Web, 7.03.2013
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
Summary




Łódzkie Forum Semantic Web, 7.03.2013
Thank you
     Question time 




Łódzkie Forum Semantic Web, 7.03.2013
Useful links
     http://dotnetrdf.org
     https://bitbucket.org/dotnetrdf/dotnetrdf/
     https://bitbucket.org/dotnetrdf/dotnetrdf/wiki/
     http://r2rml.net




Łódzkie Forum Semantic Web, 7.03.2013

Weitere ähnliche Inhalte

Was ist angesagt?

NHibernate for .NET
NHibernate for .NETNHibernate for .NET
NHibernate for .NET
Guo Albert
 
Introduction to NHibernate
Introduction to NHibernateIntroduction to NHibernate
Introduction to NHibernate
Dublin Alt,Net
 
Gems in the python standard library
Gems in the python standard libraryGems in the python standard library
Gems in the python standard library
jasonscheirer
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)
Samnang Chhun
 

Was ist angesagt? (20)

RDF Views of SQL Data Power Point Presentation - 1
RDF Views of SQL Data Power Point Presentation - 1RDF Views of SQL Data Power Point Presentation - 1
RDF Views of SQL Data Power Point Presentation - 1
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data Center
 
Facet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLFacet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQL
 
NHibernate for .NET
NHibernate for .NETNHibernate for .NET
NHibernate for .NET
 
NHibernate
NHibernateNHibernate
NHibernate
 
Apache Jena Elephas and Friends
Apache Jena Elephas and FriendsApache Jena Elephas and Friends
Apache Jena Elephas and Friends
 
Introduction To NHibernate
Introduction To NHibernateIntroduction To NHibernate
Introduction To NHibernate
 
Linked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache MarmottaLinked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache Marmotta
 
Extending Pandas using Apache Arrow and Numba
Extending Pandas using Apache Arrow and NumbaExtending Pandas using Apache Arrow and Numba
Extending Pandas using Apache Arrow and Numba
 
Introduction to NHibernate
Introduction to NHibernateIntroduction to NHibernate
Introduction to NHibernate
 
Gems in the python standard library
Gems in the python standard libraryGems in the python standard library
Gems in the python standard library
 
Legislation.gov.uk
Legislation.gov.ukLegislation.gov.uk
Legislation.gov.uk
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)
 
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
 
Rust is for "Big Data"
Rust is for "Big Data"Rust is for "Big Data"
Rust is for "Big Data"
 
Semantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and StanbolSemantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and Stanbol
 
Hacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge GraphsHacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge Graphs
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
 
Graph Analytics with ArangoDB
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDB
 
Efficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in HadoopEfficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in Hadoop
 

Ähnlich wie Introduction to dotNetRDF

Comparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java PlatformComparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java Platform
Computer Science
 
Rdf Processing Tools In Java
Rdf Processing Tools In JavaRdf Processing Tools In Java
Rdf Processing Tools In Java
DicusarCorneliu
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Server
webhostingguy
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Lino Valdivia
 
RDF_API_Java_Stefan_Apostoaie
RDF_API_Java_Stefan_ApostoaieRDF_API_Java_Stefan_Apostoaie
RDF_API_Java_Stefan_Apostoaie
iosstef
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
BigBlueHat
 

Ähnlich wie Introduction to dotNetRDF (20)

Publishing RDF SKOS with microservices
Publishing RDF SKOS with microservicesPublishing RDF SKOS with microservices
Publishing RDF SKOS with microservices
 
GraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph DatabasesGraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph Databases
 
Comparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java PlatformComparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java Platform
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...
 
RDF APIs for .NET Framework
RDF APIs for .NET FrameworkRDF APIs for .NET Framework
RDF APIs for .NET Framework
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Comparative study on the processing of RDF in PHP
Comparative study on the processing of RDF in PHPComparative study on the processing of RDF in PHP
Comparative study on the processing of RDF in PHP
 
.Net and Rdf APIs
.Net and Rdf APIs.Net and Rdf APIs
.Net and Rdf APIs
 
Rdf Processing Tools In Java
Rdf Processing Tools In JavaRdf Processing Tools In Java
Rdf Processing Tools In Java
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Server
 
MCA and MyMobileBristol @ osjmob11
MCA and MyMobileBristol @ osjmob11MCA and MyMobileBristol @ osjmob11
MCA and MyMobileBristol @ osjmob11
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
Web Spa
Web SpaWeb Spa
Web Spa
 
RDF_API_Java_Stefan_Apostoaie
RDF_API_Java_Stefan_ApostoaieRDF_API_Java_Stefan_Apostoaie
RDF_API_Java_Stefan_Apostoaie
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Quadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystemQuadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystem
 
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
 
RDFauthor (EKAW)
RDFauthor (EKAW)RDFauthor (EKAW)
RDFauthor (EKAW)
 
Apache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesApache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & libraries
 
Database Technologies for Semantic Web
Database Technologies for Semantic WebDatabase Technologies for Semantic Web
Database Technologies for Semantic Web
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Introduction to dotNetRDF

  • 1. Introduction to dotNetRDF Łódzkie Forum Semantic Web, 7.03.2013
  • 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
  • 3. Library overview Łó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
  • 5. Core concepts Łódzkie Forum Semantic Web, 7.03.2013
  • 6. Core concepts Triple IGraph stores INode Graphs INode Triples INode Nodes (subjects, predicate s, objects) Łó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
  • 11. Advanced topics Łó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
  • 17. Fluent SPARQL API SELECT ?t ?p QueryBuilder.Select("t", "p") WHERE .Where(tpb => tpb { .Subject("x").PredicateUri("dc:title").Object("t")) ?x dc:title ?t . OPTIONAL .Optional(opt => { { ?x ns:price ?p . opt.Where(tpb => tpb FILTER (?p < 30) .Subject("x").PredicateUri("ns:price").Object("p")); } opt.Filter(eb => eb.Variable("p") < 30); } }).BuildQuery(); Łó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
  • 20. Thank you Question time  Łódzkie Forum Semantic Web, 7.03.2013
  • 21. Useful links http://dotnetrdf.org https://bitbucket.org/dotnetrdf/dotnetrdf/ https://bitbucket.org/dotnetrdf/dotnetrdf/wiki/ http://r2rml.net Łódzkie Forum Semantic Web, 7.03.2013