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

Eclipse RDF4J - Working with RDF in Java

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 20 Anzeige

Eclipse RDF4J - Working with RDF in Java

Herunterladen, um offline zu lesen

A brief history of the RDF4J Project and an overview of tools and code examples that demonstrate how to work with it in your applications.

Slides accompanying the Lotico Webinar event on May 14, 2020 - see http://www.lotico.com/index.php/Eclipse_RDF4J_-_Working_with_RDF_in_Java

A brief history of the RDF4J Project and an overview of tools and code examples that demonstrate how to work with it in your applications.

Slides accompanying the Lotico Webinar event on May 14, 2020 - see http://www.lotico.com/index.php/Eclipse_RDF4J_-_Working_with_RDF_in_Java

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Eclipse RDF4J - Working with RDF in Java (20)

Anzeige

Aktuellste (20)

Eclipse RDF4J - Working with RDF in Java

  1. 1. Eclipse rdf4j Working with RDF in Java Jeen Broekstra @ABrokenJester jeen.broekstra@gmail.com
  2. 2. About me ● Jeen Broekstra ● Principal Engineer at metaphacts GmbH ● Dutch Kiwi living in Melbourne, Australia ● One of the original designers of Sesame ● Current project lead of Eclipse RDF4J
  3. 3. A brief history 2001 Sesame is born Online storage and querying service, developed in the EU project “On-To-Knowledge” 2002 OpenRDF Sesame First open source release Shift from online service to API / toolkit for RDF in Java 2003 Rio parsers Increased focus on application as library and RDF API in Java 2008 Sesame 2.0 Complete redesign SPARQL 1.0 support 2016 Eclipse RDF4J Focus on modern Java Vendor-neutral API 2020 RDF4J continued Regular new releases Focus on SHACL, SPARQL 1.2, RDF*/SPARQL*, Java 11-12-13-14
  4. 4. So what is RDF4J? ● A modular collection of Java libraries for working with RDF data ○ Reading, writing, creating, updating, converting ○ Storing, querying and updating in RDF databases or remote SPARQL endpoints ○ Out-of-the box scalable, persistent, transactional storage ■ Native Store ■ Memory Store ○ A vendor-neutral API for connecting with RDF stores ● A set of tools ○ RDF4J Server: an RDF database manager ○ RDF4J Workbench: a web-based client tool for interacting with RDF4J Server or other endpoints ○ RDF4J Console: a command line tool
  5. 5. Quick recap: RDF ● Graph data model ● IRIs as a means of decoupling and global identification of resources and concepts Jeen RDF4J project lead Person Project
  6. 6. Quick recap: RDF ● Graph data model ● IRIs as a means of decoupling and global identification of resources and concepts Jeen RDF4J project lead Person Project Different owners and locations
  7. 7. SAIL API Storage And Inference Layer Memory Store Native Store Custom Store RDFS Inference SHACL Validation Full-Text Search GeoSPARQL Custom Inference storage reasoning extensions Repository API SPARQLRio: RDF I/O Parser/Writer API Model API SAIL accessRDF4J Server access SPARQL endpoint accessRDF/XML Turtle N-Triples JSON-LD TriG TriX N-Quads Binary RDF/JSON Federated Query Architecture HDT
  8. 8. Tools
  9. 9. RDF4J Server ● RDF4J REST API ○ Transaction support ○ Database management operations ○ SPARQL 1.1 Protocol ■ “SPARQL endpoints” ■ REST API for sending SPARQL queries and updates ○ SPARQL 1.1 Graph Store Protocol ■ REST API for communicating with RDF graph stores ■ Retrieving and manipulating RDF (named) graphs directly
  10. 10. RDF4J Workbench
  11. 11. RDF4J Console ● Command line tool for RDF and SPARQL ○ Verify and convert RDF files ○ Create new local database on the fly ○ Connect to RDF4J Server to manage databases, add and query data ○ Connect to any public SPARQL endpoint to query ○ Can be used to batch/script operations on RDF stores or files
  12. 12. Let’s do some coding
  13. 13. RDF files and Models The Rio parser is your one-stop shop for reading and writing RDF from code: A Model is a collection of statements you can filter, map, stream, slice and dice:
  14. 14. Adding data to a database The Repository API is a “JDBC-inspired” transactional interface for RDF databases
  15. 15. Transactions ● Operations on a connection can be grouped in transactions for improved performance and better consistency control ● Each transaction is atomic: it either fully succeeds or not at all ● Repositories can support concurrent read and write ● Transactions can have different isolation levels
  16. 16. SHACL ● Shapes Constraint Language - specify constraints on your data ○ “All persons must have at least one first name” ● RDF4J supports SHACL through the ShaclSail ○ Validation against shapes on transaction commit ex:PersonShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:property [ sh:path ex:firstName ; sh:minCount 1 ; ].
  17. 17. FedX: federated query ● Allows treating any combination of databases and SPARQL endpoints as a federated “virtual” repository ● Clever query planning and optimization routes relevant parts of complex queries to the relevant federation members ● A drop-in replacement for any existing Repository
  18. 18. Knowledge graphs
  19. 19. Current focus areas ● Experimental support for RDF* and SPARQL* ● Performance improvements ● Improve and extend SHACL support ● Query plan explanation / analysis
  20. 20. Find out more ● RDF4J project website - https://rdf4j.org/ ● RDF4J on Github - https://github.com/eclipse/rdf4j ● Community support ○ Google group - https://groups.google.com/d/forum/rdf4j-users ○ Github issue tracker - https://github.com/eclipse/rdf4j/issues ● Become a contributor! ○ Get in touch via community channels, or just submit a patch ○ See https://github.com/eclipse/rdf4j/README.md Major contributors and sponsors Core committer team: Jeen Broekstra Håvard Ottestad Bart Hanssens Andreas Schwarte Damyan Ognyanov

×