Post on 13-Dec-2015
Sesame:A Generic Architecture for Storing and Querying RDF and RDF Schema
Jeen Broekstra, Arjohn Kampman, and Frank van Harmelen
정홍석2005.01.20
2Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
Introduction
Sesame: architecture for storage and querying of RDF and RDFS information
allows persistent storage of RDF and RDFS provides access methods to export and
querying modules
3Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
1. The Need for an RDFS Query Language consideration for querying
at the syntactic level XML documents
not necessarily true non-XML syntaxes for RDF exist
at the structure level consist of a set of triples
at the semantic level constitute one or more graphs with partially
predefined semantics
4Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
참고 : XML 과 RDF 의 차이
XML 기반 RDF 기반중심 연구
방향웹에서 정보를 작성하고 교환하기 위한 문서 포맷 (문법중심 )
웹에서 정보에 관한 의미와 추론을 기술하기 위한 모델 (의미중심 )
활용을 위한연구방안
XML에 의미를 부여하기 위한 연구다양한 소스로부터 데이터 통합예 ) 도메인 온톨로지 (표준화 )
컴퓨터가 처리할 수 있도록 의미를 문법으로 표현하기 위한 연구예 ) RDF의 XML
serialization
두 언어의차이
Ordered Not ordered
클래스와 프로퍼티 구분이 있음예 ) 회사는 클래스에 회사이름은
회사에 대한 속성에 들어감
클래스와 프로퍼티가 혼용되어 사용됨예 ) 회사 , 회사 이름이 모두
엘리먼트에 나타날 수 있음
트리구조 그래프 구조관련 표준 XML 스키마 , XQuery RDF 스키마 , RQL
5Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
Querying at the Syntactic Level(1/3) RDF is kind of XML
any RDF model can be written down in XML notation. can query RDF using an XML query language
But RDF data model is different from the XML
tree structure very hard to query.
6Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
Querying at the Syntactic Level(2/3)
<rdf:Description rdf:about=http://www.enersearch.se/corporate/organisation/hohome.html><s:hasName>Hans Ottosson</s:hasName><s:worksFor rdf:resource=http://www.enersearch.com/>
</rdf:Description>
<rdf:Description rdf:about=http://www.enersearch.com><s:legalName>EnersearchAB</s:legalName><rdf:type rdf:resource=http://www.description.org/schema#Consortium/>
</rdf:Description>
…/hohome.html …/enersearch.html
“Hans Ottosson” “Enersearch AB”
worksFor
legalNamehasName
example
7Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
Querying at the Syntactic Level(3/3) RDF query language
graph: edges and nodes are labeled query
‘Give me all the relationships that exist between Hans Ottosson and Enersearch AB’
XML query language tree: nodes are labeled query: cannot query relation
Give me all the elements nested in a Description element with an about attribute with value “http://www.enersearch.../hohome.html”, of which the value of its resource attribute occurs elsewhere as the about attribute value of a Description element that has a nested element title with the value “Enersearch AB”
not unique syntax
8Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
1.2 Querying at the Structure Level RDF document represents a set of triples
query using triple SELECT ?x FROM somesource WHERE
(rdf::type ?x VicePresident) is this query possible?
SELECT ?x FROM somesource WHERE (rdf::type ?x Employee)
Employee Company
…/hohome.html …/enersearch.htmlworksFor type
subClassOf
VicePresident
worksFor
type
domain range
SCHEMADATA
9Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
1.3 Querying at the Semantic Level(1/2)
Means to query at the semantic level querying the full knowledge that a RDFS
description entails not just the explicitly asserted statements Compute and store the closure of the given graph
as a basis for querying Let a query processor infer new statements as
needed per query
10Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
1.3 Querying at the Semantic Level(2/2)
RQL(the RDF Query Language) defined by
core queries: Class, Property, subClassOf… basic filters: select-from-where Functional composition of queries
additional function query the structure of the subclass hierarchy
ex) subClassOf(Employee), subClassOf^(Employee) specify a path expression
ex) select Y, $Y from VicePresident{X}.worksFor{Y:$Y}
11Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
2. Sesame Architecture
Overview DBMS-independent
SAIL API different ways to
communicate protocol handler module
Query Module Admin Module Export Module
12Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
2.1 The RQL Query module
The Sesame version of RQL features better compliance to W3C specifications support for optional domain and range
restrictions Query parsing and optimization
13Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
2.2 The Admin Module
Two main functions incrementally adding RDF data/schema
information clearing a repository
partial delete function is not yet available
14Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
2.3 The RDF Export Module
Export the contents of a repository formatted in RDF
Able to selectively export the schema, the data, or both
15Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
A set of Java interfaces between three modules and repository
Main design principles Define a basic interface
storing, retrieving, deleting Abstract from the actual storage mechanism Be usable on low-end hardware like PDAs
but also offer enterprise level capability Be extendable to other RDF-based languages
like DAML+OIL
3.The SAIL API(1/3)
16Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
3.The SAIL API(2/3)
Other proposals under development share characteristics with
Jena toolkit Redland Application Framework
Weighted on the retrieval side offers methods
querying class property subsumption domain and range restriction
17Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
3.The SAIL API(3/3)
Sesame offers several implementations of the SAIL API SQL92SAIL
aim: to be able to connect to any RDBMS inference module for RDFS
concurrency handling support concurrency control for any type of
repository
18Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
4. Experiences
URL: http://www.openrdf.org Database platforms
PostgreSQL, MySQL Protocol
HTTP SAIL
SQL92SAIL, PostgreSQL SAIL, MySQL SAIL
19Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
4.2 RDFS in Practice
Ambiguity Formal Model Theory for RDF
the RDF Core Working Group specify model and schema semantics more
precisely and include a formal procedure for computing
20Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
4.3 PostgreSQL and SAIL
PostgreSQL object-relational DB
MS support sub-table relations between its tables
‘resources’ map all resources, literal values and ID
difficult to add table caching
21Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
4.3 MySQL
MySQL the database s
chema does not change when the RDFS changes advantage where RDFS is unstable
22Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
5. Future Work
Transaction Rollback Support support rollback when error occurs
Versioning Support support various platforms
Adding and Extending Functional Modules updating, partial deleting, visualization …
DAML+OIL Support