Title: TRIPLE a Rule Language for RDF
1TRIPLE a Rule Language for RDF
- Stefan Decker
- Stanford University
2Many Previously Unknown Communication Partners
3Too many languages, to many formats
4Layers help to manage Complexity
51. Step
- Define uniform, underlying syntax
- Lowest common denominator labeled
graphs(semi-structured Data) -gt RDF
Relational Database
Structured Text (e.g., Vcard)
Person
begin vcardfn Stefann
DeckerStefanend vcard
Person
row
row
vcard1
fn
n
L-name
L-name
ID
ID
F-name
F-name
Stefan
DeckerStefan
1
Decker
Decker
Stefan
Birgit
2
6RDF
- Graph-based universal syntax
(Agent-) Applications
RDF-Layer (Single dataformat, Query and storage
System)
Scheduling Service
Insurance Ratings
Calendar
Semantics in a global, open environment?
7Step 2 Layers on Top of RDF
- Tim Berners-Lee
- Axioms, Architecture and Aspirations
- W3C all-working group plenary Meeting
- 28 February 2001
8Motivation Why Rule Languages for the Web?
- Plethora of data available
- Data needs to be adapted and combined
- Time to Market Faster to write rules than code
9Data Models on the Web
- Plethora of data models and languages
- Relational Data, UML, ER, TopicMaps, DAMLOIL,
XML-Schema, special purpose data models - Semi-structured data for the integration of
heterogeneous data - Graph-based data models academia OEM (Object
Exchange Model) - W3C Standard RDF
- XML is another (restricted) form of
semi-structured data
10Whats Wrong With Existing Approaches to RDF
Query?
- Built-in semantics (e.g. SiLRI, RQL, DQL)
- but many RDF-based languages with different
semantics (DAMLOIL, RDF Schema, UML/RDF,
TopicMaps/RDF,) - For each language a specialized query language
????
11RDF Models
- No support for RDF models
- one large heap of RDF data
model 2
model 1
model 3
12Idea
model1
Set of RulesDescribing Semantics of a Data Model
model2
13TRIPLE Requirements
- Support for Specification not Programming
- Bottom-up evaluation or tabling
- Expressive rule bodies
- Negation
- Support for Object Invention
- Skolem functions are required
- Effective Evaluation and Change
- Well-founded vs. stables semantics (intuitive
behavior when changes occur!
14TRIPLE Language Overview
- Native support for
- Resources namespaces, abbreviations
- Models (sets of RDF statements) and Semantic
Spaces - Reification
- Rules with expressive bodies (full FOL syntax)
- Transformations
- Syntactical extension of Horn Logic
- Syntactically inspired by F-Logic
- subjectpredicate?object (molecules)
15Language Description I
- Namespace and resource abbreviations
- rdf http//www.w3.org/1999/02/22-rdf-syntax-ns
. - isa rdfsubClassOf.
- Statements, triples, molecules
- subjectpredicate?object
- subjectp1?o1 p2 ?o2 ...
- s1p1 ? s2p2?o
- Models, model expressions, parameterized models
- sp?o_at_m triple lts,p,ogt in model m
- sp?o_at_(m1 ? m2) model intersection, union, diff.
- sp?o_at_sf(m1, X, Y) Skolem function
16Language Description II
- Reification
- stefanbelieves ? ltOraisAuthorOf?homepagegt
- Logical formulae
- usual logical connectives and quantifiers ? ? ?
? ?, lt-gt -gt lt- - all variables introduced via ? (or ?)
- Clauses
- facts sp1?o1 p2 ?o2 ....
- rules ?X s1p1?X ? s2p2?X ? ... .
- Blocks
- _at_model clauses
- ?Mdl _at_model(Mdl) clauses
17Example Dublin Core
dc http//purl.org/dc/elements/1.0/. dfki
http//www.dfki.de/. _at_dfkidocuments
dfkid_01_01 dctitle ? TRIPLE
dccreator ? Michael Sintek
dcsubject ? RDF dcsubject ? triples
... .
namespace abbreviations
block
Michael Sintek
TRIPLE
fact
dctitle
dccreator
dfkid_01_01
dcsubject
dcsubject
...
RDF
triples
Query FORALL D lt- Ddcsubject ?
RDF_at_dfkidocuments.
18Layered Architecture Semantic Spaces
- TRIPLE supports the definition of semantical RDF
extensions in a modular way - RDF Schema (and other simple frame
systems)semantics can be directly defined in
TRIPLE as a parameterized model (see next slide) - OIL, DAMLOIL (i.e., expressive ontology
languages, DL)requires interaction with foreign
reasoning components (e.g., DL classifier) - Goal use various semantics in one inference
(e.g., for information integration)
19TRIPLE/RDFS RDF Schema Model
namespace abbreviations
- rdf 'http//www.w3.org/...rdf-syntax-ns'.
- rdfs 'http//www.w3.org/.../PR-rdf-schema-...'
. - type rdftype.
- subPropertyOf rdfssubPropertyOf.
- subClassOf rdfssubClassOf.
- FORALL Mdl _at_rdfschema(Mdl)
- FORALL O,P,V OP-gtV lt-
- OP-gtV_at_Mdl.
-
- FORALL O,P,V OsubClassOf -gtV lt- EXISTS W
(OsubClassOf -gtW AND WsubClassOf -gtV).
resource abbreviations
model block
copy triples from Mdl
transitivity of subPropertyOfand subClassOf
20UML in TRIPLE
namespace abbreviations
- rdf 'http//www.w3.org/...rdf-syntax-ns'.
- uml http//www.omg.org/uml/1.3/Foundation.Core
.'. - FORALL Mdl _at_uml(Mdl)
- FORALL O,P,V OP-gtV lt-
- OP-gtV_at_Mdl.
-
- FORALL X,Z g(X,Z)rdftype-gtumlGeneralization
- umlGeneralization.child-gtX
umlGeneralization.parent-gtZlt- EXISTS
Y,G1,G2 - G1umlGeneralization.child-gtXumlGeneralizatio
n.parent-gtY AND G2umlGeneralization.child-gtY
umlGeneralization.parent-gtZ .
model block
copy triples from Mdl
transitivity of umlGeneralization
21TRIPLE and DAMLOIL
- daml_oil(Mdl) model by accessing a DL classifier
(e.g., FaCT) (in general external software
component) - access only allowed in rule bodies
- results in hybrid rule language similar to Carin,
but more pragmatic approach
22TRIPLE/DAMLOIL Example
- daml 'http//www.daml.org/.../damloil'.
- animals 'http//www.example.org/animals'.
- _at_animalsontology
- animalsAnimalrdftype -gt damlClass.
- animalsHerbivorerdftype -gt damlClass
- rdfssubClassOf -gt animalsAnimal.
- animalsCarnivorerdftype -gt damlClass
- rdfssubClassOf -gt animalsAnimal
- damldisjointWith -gt animalsHerbivore.
- animalsOmnivorerdftype -gt damlClass
- rdfssubClassOf -gt animalsHerbivore
- rdfssubClassOf -gt animalsCarnivore.
-
- FORALL Ont _at_check(Ont)
- FORALL C unsatisfiable(C) lt-
- CdamlsubClassOf -gt damlNothing_at_daml_oil(On
t).
Animal
s
s
Herbivore
Carnivore
damldisjointWith
s
s
Omnivore
s rdfssubClassOf
find all unsatisfiable classes(will detect
Omnivore)
23Generalization Mediation Architecture with
TRIPLE
Agent-Applications
TRIPLERDF
Software Component
WebService A
TopicMap
24Realization Compilation to Horn logic
- First implementation (and informal semantics) by
mapping to Horn Logic / XSB system (Prolog with
tabled resolution) - Lloyd-Topor transformation for quantifiers etc.
- RDF-specific transformations given as rewrite
rules
25Future and Ongoing Work on TRIPLE
- Direct Semantic Characterization
- Classic Negation
- ECA Rules
- Pure Java Version
- Scalability Issues
26Outlook Ontology Versioning as an Application
of TRIPLE
- Ontology building is a collaborative effort
like software engineering - Versioning issues come up
- CVS (Concurrent Versioning System) essential of
open source software projects (APACHE) - CVS works on text files Which subclasses of
Person changed in the last Week is not possible
27TRIPLE as a Basis off a Multiple Semantics Query
Ontology Versioning System (OVS)
Collaboration Primitives (similar to CVS)
TRIPLE
DAMLOIL
UML
RDF Schema
28Ontology Driven Peer-to-Peer Systems
- Ongoing Project (http//edutella.jxta.org)
- Peer-to-Peer concept not restricted to file
transfer, but arbitrary services - Scenario Peer-to-Peer Network of all hotels,
clustered by an Ontology - Peers need a query infrastructure, ideally based
on an application independent data format -gt
TRIPLE
29Conclusions
- TRIPLE is a new RDF-specific query and inference
language - Allows specification of/access to multiple
semantics - Every Horn Logic inference engine can be used
- First implementation available (for a subset of
TRIPLE called TRIPLE0)http//triple.semanticweb.
org - RDF Exchange syntax is defined
- Part of RuleML initiativehttp//www.dfki.uni-kl.
de/ruleml/