1 / 26

Database Support for Semantic Web

Database Support for Semantic Web. Masoud Taghinezhad Omran taghinezhad@ce.sharif.edu Sharif University of Technology Computer Engineering Department Fall 2005. Outline. Introduction RDF storage in Relational Database RDF storage in OO Database Examples of Implementation

dixon
Download Presentation

Database Support for Semantic Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Database Support for Semantic Web Masoud Taghinezhad Omran taghinezhad@ce.sharif.edu Sharif University of Technology Computer Engineering Department Fall 2005

  2. Outline • Introduction • RDF storage in Relational Database • RDF storage in OO Database • Examples of Implementation • Evaluation of Methods • References

  3. 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.

  4. 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

  5. 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

  6. 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

  7. Vertical table • There is one universal table • Only three fields are in the table • Subject • Predicate • Object

  8. 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.

  9. 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

  10. Horizontal class (Benefits and Drawbacks) • Benefits: • Less sparsity • Short query time • Drawbacks: • Properties without explicit domain should be included in all tables.

  11. Table per property • Uses one table for each property • Instances of all classes will be stored in the table for property “Type”

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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:

  17. 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.

  18. 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

  19. Jena (Cont.) • By Jena we can develop application-specific Storage for RDF • Inferencing is also supported by Jena through inference graphs. Inferred statements will be stored in table.

  20. Other RDF stores implemented with relational database • KAON • Parka Database • RDFSuite • Sesame and SAIL • TAP

  21. 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.

  22. Querying RDF(S) • Querying the structure level • Triple data model is in this level • The best query language known is RDQL • Querying the semantic level • Graph data model is in this level • RQL is the first standardized query

  23. 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

  24. 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

  25. 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

  26. 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”

More Related