Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Introduction to dotNetRDF

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 21 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Introduction to dotNetRDF (20)

Anzeige

Aktuellste (20)

Introduction to dotNetRDF

  1. 1. Introduction to dotNetRDF Łódzkie Forum Semantic Web, 7.03.2013
  2. 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. 3. Library overview Łódzkie Forum Semantic Web, 7.03.2013
  4. 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. 5. Core concepts Łódzkie Forum Semantic Web, 7.03.2013
  6. 6. Core concepts Triple IGraph stores INode Graphs INode Triples INode Nodes (subjects, predicate s, objects) Łódzkie Forum Semantic Web, 7.03.2013
  7. 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. 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. 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. 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. 11. Advanced topics Łódzkie Forum Semantic Web, 7.03.2013
  12. 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. 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. 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. 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. 16. My work with dotNetRDF Łódzkie Forum Semantic Web, 7.03.2013
  17. 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. 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
  19. 19. Summary Łódzkie Forum Semantic Web, 7.03.2013
  20. 20. Thank you Question time  Łódzkie Forum Semantic Web, 7.03.2013
  21. 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

×