DB Support for SW - Department of Computer Engineering

Download Report

Transcript DB Support for SW - Department of Computer Engineering

Database Support for Semantic Web
Masoud Taghinezhad Omran
[email protected]
Sharif University of Technology
Computer Engineering Department
Fall 2005
Outline






Introduction
RDF storage in Relational Database
RDF storage in OO Database
Examples of Implementation
Evaluation of Methods
References
Introduction
 Basic ontology languages are influenced by
RDF.
 RDF has simple directed graph data model
which is described by a set of triples.
 Inferred statements from RDFS and
ontology languages could be added.
 So, It is important to select the best
solution for storing and retrieving RDF
information.
 A common technique is using Relational
Database.
RDF storage in Relational Database
 First: How the table design should be
for storing RDF triples?
 Storage Methods:





Horizontal Table
Vertical Table
Horizontal Class
Table Per Property
Hybrid approach
Horizontal Table
 Use one universal table in the database
 Fields of the table are individual’s ID, the
name of source class and the value of all
properties.
 Also it is possible to use a table to
represent each ontology
Horizontal table (Benefits and Drawbacks)
 Benefits:
 Saving subject and predicate only once
 Short query time
 Simple structure
 Drawbacks:





Large number of columns
Property value limits
Sparsity
Maintenance difficulty
Long load time
Vertical table
 There is one universal table
 Only three fields are in the table
 Subject
 Predicate
 Object
Vertical table (Benefits and Drawbacks)
 Benefits:




Very simple structure
Easy maintenance
Short load time
Constant column numbers
 Drawbacks:
 Long query time
 Some queries are difficult
 No database column type suitable for all literal
values. So the value will be stored as string.
Horizontal class
 Similar to Horizontal table approach but
smaller
 Uses a separate table for each class of the
ontology
 Every table contains fields for properties
which have rdfs:domain value equal to
representing class
Horizontal class (Benefits and Drawbacks)
 Benefits:
 Less sparsity
 Short query time
 Drawbacks:
 Properties without explicit domain should
be included in all tables.
Table per property
 Uses one table for each property
 Instances of all classes will be stored in the
table for property “Type”
Table per property (Benefits and Drawbacks)
 Benefits:
 Short time for simple queries
 Decrease in size of tables
 Drawbacks:
 Increase in number of tables
 Complex queries are time consuming
Hybrid approach
 Combines different approaches
 Increase in efficiency than using each
single approach
 Decrease some limits and drawbacks
of each single approach
 Frequently used approach in
implementations
RDF storage in Relational Database (Example)
 DLDB Project:
A knowledge base system that
extends a relational database
management system with additional
capabilities for DAML+OIL inference.
 Jena:
A semantic web programmers’ toolkit
DLDB project:
 A hybrid approach which combines property table
and horizontal class approaches
 For ontologies of moderate number of classes and
simple queries this approach will have good
performance
 Uses Microsoft Access as relational database and
FaCT as reasoner
DLDB project (cont.)
 Capable of taxonomic inference using rdfs:subClassOf
and rdfs:type and rdfs:subPropertyOf with views
Example:
The view defined for “student” class:
DLDB project (cont.)
 Capable of computing class
subsumption using a FaCT DL
reasoner
 First it computes the subsumptions
and adds them to the model then
creates class views.
Jena:
 A hybrid approach which combines
Horizontal table and vertical table
approaches
 Uses denormalized vertical table. Short
literal values and resource URIs are stored
directly in vertical tables and those exceed
a threshold is stored in separate tables.
 Jena has a mining tool that discovers
patterns in RDF graph and RDF query log;
So can suggest which properties to store
together. example
Jena (Cont.)
 By Jena we can develop applicationspecific Storage for RDF
 Inferencing is also supported by Jena
through inference graphs. Inferred
statements will be stored in table.
Other RDF stores implemented with relational database





KAON
Parka Database
RDFSuite
Sesame and SAIL
TAP
RDF storage in object-oriented database
 To support semantic interpretation, implementations
on relational database will map the graph model onto
storage structure. And in order to query the semantics
the graph has to be constructed from triples.
 Storing RDF data as a graph by OODB has advantages
such as:
 Storage design will be simplified because of storing
graph directly.
 Graph interpretation will be done without mapping
 The relationship between RQL and OQL is used for
query processing.
Querying RDF(S)
1. Querying the structure level
 Triple data model is in this level
 The best query language known is RDQL
2. Querying the semantic level
 Graph data model is in this level
 RQL is the first standardized query
Querying RDF(S) Example

Querying RDF data with RDQL



SELECT ?x WHERE (?x, <type>, <Document>)
SELECT ?x WHERE (?x, <type >, ?c1) , (?c2, <subClassOf>, <Document>)
AND ?c1=?c2
Querying RDF data with RQL


SELECT y FROM y type Document
SELECT $y FROM {:$y }. Type Document
OO-Store, RDF storage on OODB
 Uses FastObject as object-oriented database system
 A statement is created by the resource object
referencing the value object using a property object
OO-Store vs. Sesame
 The result of this approach was compared by result
of sesame using different queries
 It showed that OO-Store approach has much better
performance
Refrences
 V.Bonstrom, A.Hinze, H.Schweppe. “Storing
RDF as a Graph”
 A.Pan, J.Heflin. “DLDB: Estending Relational
Database to Support Semantic Web
Queries”
 Oracle USA Inc. “RDF Support in Oracle”
 K.Wilkinson, C.Sayers, H.Kuno, D.Reynolds,
L.Ding. “Supporting Scalable, Persistent
Semantic Web Application”
 D.Becket, J.Grant. “Mapping Semantic Web
Data With RDBMSes”