RDF stores- A walkthrough (SDB, TDB, Allegrograph , etc)

19
RDF STORES- A WALKTHROUGH (SDB, TDB, ALLEGROGRAPH, ETC) -By Mohamed Ershad Junaid UTD ID : 2021041902 Email : [email protected]

description

RDF stores- A walkthrough (SDB, TDB, Allegrograph , etc). -By Mohamed Ershad Junaid UTD ID : 2021041902 Email : [email protected]. RDF STORES. - PowerPoint PPT Presentation

Transcript of RDF stores- A walkthrough (SDB, TDB, Allegrograph , etc)

Page 1: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

RDF STORES- A WALKTHROUGH (SDB, TDB,

ALLEGROGRAPH, ETC)

-By Mohamed Ershad JunaidUTD ID : 2021041902

Email : [email protected]

Page 2: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

RDF STORES

There are a number of tools that store RDF data in their own optimized schema. In this presentation we will be going through most of the tools used as RDF Stores , namely

1.SDB 2.ALLEGROGRAPH 3.SESAME 4.SwiftOWLIM 5.BigOWLIM

Page 3: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

SDB – A SPARQL DATABASE FOR JENA

SDB is a component of Jena. It provides for scalable storage and query of RDF datasets using conventional SQL databases for use in standalone applications, J2EE and other application frameworks. The database tools for load balancing, security, clustering, backup and administration can all be used to manage the installation. SDB is designed specifically to support SPARQL, the query language developed by the W3C RDF Data Access Working Group.

Page 4: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

Use of an SDB store requires a Store object which is described in 2 parts: a connection to the database a description of the store configuration

Store objects themselves are lightweight so connections to an SDB database can be created on a per-request basis as required for use in J2EE application servers

Store Description : A store description identifies which storage layout is being used, the connection to use and the database type. [] rdf:type sdb:Store ; sdb:layout "layout2" ; sdb:connection <#conn> . <#conn> ..

SDB connections, objects of class SDBConnection, abstract away from the details of the connection and also provide consist logging and transaction operations

SDB Store and Connections involve choosing the Store type by setting the sdbType needed for the connection.

SDB has DataSets which are handled by the assembler based on the description, like for example to assemble a particular model in a store a description is given as :

# Default graph <#myModel1> rdf:type sdb:Model ; sdb:dataset <#dataset> .

# Named graph <#myModel2> rdf:type sdb:Model ; sdb:namedGraph data:graph1 ; sdb:dataset <#dataset> .

Page 5: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

SDB does not have a single database layout. But of those that are fixed and available we view the two main types.

In SDB one store is one RDF dataset is one SQL database. Databases of type layout2 have a triples table for the default graph, a quads table

for the named graphs. In the triples and quads tables, the columns are integers referencing a nodes table.

In the hash form, the integers are 8-byte hashes of the node. In the index form, the integers are 4-byte sequence ids into the node table.

Triples

+-----------+ | S | P | O | +-----------+ Primary key: SPO Indexes: PO, OS

Quads

+---------------+ | G | S | P | O | +---------------+ Primary key: GSPO Indexes: GPO, GOS, SPO, OS, PO.

Page 6: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

Nodes

In the index-based layout, the table is:

+------------------------------------------------+ | Id | Hash | lex | lang | datatype | value type | +------------------------------------------------+ Primary key: Id Index: Hash

Hash:

+-------------------------------------------+ | Hash | lex | lang | datatype | value type | +-------------------------------------------+ Primary key: Hash

All character fields are unicode, supporting any character set, including mixed language use

Page 7: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

ALLEGROGRAPH

AllegroGraph RDFStore is a modern, high-performance, persistent RDF graph database. AllegroGraph uses disk-based storage, enabling it to scale to billions of triples while maintaining superior performance. AllegroGraph supports SPARQL, RDFS++, and Prolog reasoning from Java applications

Page 8: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

How the Logical Store Works In RDF-land, an assertion is a statement thatsubject predicate object (in the

context of graph) The bulk of an AllegroGraph triple-store is composed of assertions. Though

called triples for historical reasons, each assertion has five fields: subject (s) , predicate (p), object (o), graph (g), triple-id (i) .

All of s, p, o, and g are strings of arbitrary size. Of course, it would be very inefficient to store all of the duplicated strings directly so we associate a special number (called a Unique Part Identifier or UPI) with each unique string. The string dictionary manages these strings and UPIs and prevents duplication.

To speed queries, AllegroGraph creates indices which contain the assertions plus additional information.

AllegroGraph can also perform freetext searching in the assertions using its freetext indices.

and Finally, AllegroGraph keeps track of deleted triples

Page 9: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

ALLEGROGRAPH’S INTERNAL ARCHITECTURE

Page 10: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

SESAME

Sesame is an open source RDF framework with support for RDF Schema inferencing and querying. Originally, it was developed by Aduna (then known as Aidministrator) as a research prototype for the EU research project On-To-Knowledge. Now, it is further developed and maintained by Aduna in cooperation with NLnet Foundation, developers from Ontotext, and a number of volunteer developers who contribute ideas, bug reports and fixes.

Sesame is an open source Java framework for storing, querying and reasoning with RDF and RDF Schema. It can be used as a database for RDF and RDF Schema, or as a Java library for applications that need to work with RDF internally. For example, suppose you need to read a big RDF file, find the relevant information for your application, and use that information. Sesame provides you with the necessary tools to parse, interpret, query and store all this information, embedded in your own application if you want, or, if you prefer, in a separate database or even on a remote server

Page 11: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

Sesame supports RDF Schema inferencing. This means that given a set of RDF and/or RDF Schema, Sesame can find the implicit information in the data. Sesame supports this by simply adding all implicit information to the repository as well when data is being added

Some of SeRQL's most important features are: Graph transformation. RDF Schema support. XML Schema datatype support. Expressive path expression syntax. Optional path matching.

URIs and literals are the basic building blocks of RDF. For a query language like SeRQL, variables are added to this list. The following sections will show how to write these down in SeRQL

Page 12: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

SESAME API

Page 13: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

OWLIM is a high performance semantic repository, implemented in Java and packaged as a Storage and Interface Layer (SAIL) for the Sesame RDF database. OWLIM is based on TRREE – a native RDF rule entailment engine. (TREE – Triple Reasoning Rule Entailment Engine)

SwiftOWLIM is an OWLIM that has its reasoning and query evaluation performed in memory, while at the same time, data preservation, consistency and integrity are guaranteed

Page 14: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

OWL Layering and Variations

Page 15: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

We make use of Axioms, Prefices and Rules. All the above constitute the rule language TRREE stands for Triple Reasoning and Rule Entailment

Engine that is configured via Rule-Sets. Syntax : Axioms { //RDF axiomatic triples }

Page 16: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

BIGOWLIM

BigOWLIM is a high-performance semantic repository with support for OWL reasoning and rule extensions. BigOWLIM uses the TRREE engine to perform RDFS, OWL DLP, and OWL Horst reasoning, based on forward-chaining of entailment rules. The reasoning support can be customized through rulesets. There are four pre-defined rulesets, the most expressive of which supports a proper extension of RDFS with almost full OWL Lite.

Page 17: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

BigOWLIM is a specific configuration for the Sesame RDF database and counts on it for various sorts of features and infrastructure, including, but not limited to, an extensive set of RDF and query language parsers.

BigOWLIM is packaged as a Storage and Inference Layer (SAIL) for Sesame named BigOwlimSchemaRepository; it implements the RdfSchemaRepository

In contrast to SwiftOWLIM (the “standard” in-memory version), BigOWLIM performs reasoning

and query evaluation directly against the permanent image of the repository.

Java library available under a commercial license from Ontotext Lab.

In BigOWLIM, reasoning and query evaluation are performed over a storage based on binary files. The reasoning strategy is total materialization.

The efficiency of TRREE allows BigOWLIM to manage billions of explicit statements on server hardware.

BigOWLIM is relatively slow delete operation – a limitation typical for the OLAP databases. The upload, storage, inference, and query evaluation are fast even for huge ontologies and knowledge bases.

Page 19: RDF  stores- A walkthrough  (SDB, TDB,  Allegrograph , etc)

THANK YOU

FOR LISTENING

PATIENTLY