web rule language (wrl) wsmo/wsml/wrl
DESCRIPTION
Web Rule Language (WRL) http://www.wsmo.org/wsml/wrl/. Authors: Jos de Bruijn, Jürgen Angele, Harold Boley, Dieter Fensel, Pascal Hitzler, Michael Kifer, Reto Krummenacher, Holger Lausen, Axel Polleres, Rudi Studer (DERI, Ontoprise, FZI, UniKarlsruhe, NRC) - PowerPoint PPT PresentationTRANSCRIPT
SRI, 08/12/2005 1 Copyright 2004 Digital Enterprise Research Institute. All rights reserved.
www.deri.org
Web Rule Language (WRL)Web Rule Language (WRL)http://www.wsmo.org/wsml/wrl/http://www.wsmo.org/wsml/wrl/
Authors: Jos de Bruijn, Jürgen Angele, Harold Boley, Dieter Fensel, Pascal Hitzler, Michael Kifer, Reto Krummenacher, Holger Lausen, Axel Polleres, Rudi Studer
(DERI, Ontoprise, FZI, UniKarlsruhe, NRC)
Presented by: Axel Polleres [email protected]
SRI, 08/12/2005 2
Outline
• Introduction• Syntax• WRL Variants• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 3
Introduction
• WRL: Rule–based ontology language for the Semantic Web– the basic ontology meta-model proposed by (WSML)
consists of: concepts, relations, instances, axioms– formal semantics based on well-known logical language
paradigms:• Logic Programming
• Frame Logic [Kifer et al.]
• "Rule–based ontology language? We have OWL already… ?!?"
• Description Logic
SRI, 08/12/2005 4
Why more than OWL?
OWL Recap:
• OWL builds on top of RDF(S)• In OWL I can express
– subclassing (including union, intersection, complement)Class(C1 partial C2)
– property value restrictions:Class(C1 partial R allValuesFrom(C2) P someValuesFrom(C3))
– cardinality restrictions:Class(Car partial Wheel minCardinality(4))
– transistivity, symmetry, inversity, functionality of properties (globally):ObjectProperty (R transitive inverseOf(P))
– individualsIndividual(http://www.polleres.net/axel type(xyz:Human) value(age 32))
– equality and disjointness of classes and individuals
SRI, 08/12/2005 5
Why more than OWL?
• In OWL (DL), there are no rules, thus – limited number of axioms can be expressed, e.g. not expressible:
uncleOf(X,Z) :- male(X), hasSibling(X,Y), childOf(Y,Z)brother(X) :- hasFather(X,Z), hasChild(Z,Y), differentFrom(X,Y).
– sometimes intuitivity is arguable
ObjectProperty(hasPassenger domain(FlightSeat) range(Passenger)Class(FlightSeat partial restriction(hasPassenger maxCardinality(1)))Individual( seat1 type(FlightSeat)
value(hasPassenger mary)value(hasPassenger john)).
Individual(seat1 type(FlightSeat)value(hasPassenger seat2))
OWA by default, no names non unique by default (can be added by owl:AllDifferent). Has some disadvantages. Additionalinferences are drawn, no way to express constraints on a contextually scoped knowledge base.
• Besides there are some other troubles with OWL…– Layering on top of RDF only OWL Full layered completely on RDF… some of the problems
(e.g. classes as instances) can be solved relatively simple:tweety rdf:type eagle.eagle rdf:type species.
SRI, 08/12/2005 6
• Objectives for a rule language next to OWL:– LP based (efficient query answering, constraints)– Lift some of the restrictions such as individuals as classes– Identify level of interoperability with OWL (already defined: DLP
[Grosof et al.])
SRI, 08/12/2005 7
Introduction
- placed on the “Ontology vocabulary“ layer in the Semantic Web language layer cake
SRI, 08/12/2005 8
Outline
• Introduction• Syntax• WRL Variants• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 9
WRL Syntax
– The conceptual syntax– Modeling the ontologies– frame-like style (similar to OIL)
– The logical expressions syntax – Refine these definitions using arbitrary rules
SRI, 08/12/2005 10
Concepts
• Form the basic terminology of the domain of discourse• May be organized in a hierarchy (using subConceptOf)• Have a number of attributes:
– Attributes have a type:• local Type constraint (ofType)
• local Type inference (impliesType)
– Attributes may have cardinality constraints– Attributes may have a number of features:
• Transitive
• Symmetric
• Reflexive
• Inverse of another attribute
SRI, 08/12/2005 11
• What I meant by local vs. global?– in OWL only global type restrictions for Properties (rdf: domain,
rdf:range)
• What I meant by constraint vs. inferring?
concept FlightSeat
hasPassenger ofType Human
hasPart impliesType FlightSeatPart
concept Childrenseat
hasPassenger ofType Child
SRI, 08/12/2005 12
Concept Example
concept HumannonFunctionalProperties
dc#relation hasValue humanDefinition dc#description hasValue "concept of a human being“endNonFunctionalProperties hasName ofType foaf#name hasParent inverseOf(hasChild) impliesType Human hasChild impliesType Human hasAncestor transitive impliesType Human hasWeight ofType (1) _float hasBirthdate ofType (1) _date hasObit ofType (0 1) _date hasBirthplace ofType (1) loc#location isMarriedTo symmetric impliesType (0 1) Human
hasCitizenship ofType oo#country
SRI, 08/12/2005 13
Web Rule Language Syntax Basics
• WRL MIME type :– text/x-wrl (normative syntax), application/xml (XML syntax),
application/rdf+xml (RDF syntax)• Namespaces
– The RDF mechanism is adopted: a namespace is part of an IRI • Identifiers
– Data values : • direct support for some of the XML Schema datatypes (string, integer,
decimal)• Datatype wrappers
– IRIs• Can be abbreviated to sQNames(namespace prefix, the local part)• different from the locators of a resource
– Anonymous IDs• numbered• unnumbered
• Comments
SRI, 08/12/2005 14
Ontology Header
wrlVariant _"http://www.wsml.org/wsml/wrl-syntax/wrl-flight"
namespace {_"http://www.example.org/ontologies/example#",
dc _"http://purl.org/dc/elements/1.1/",
foaf _"http://xmlns.com/foaf/0.1/",
wrl _"http://www.wsmo.org/wsml/wrl-syntax#",
loc _"http://www.wsmo.org/ontologies/location#" }
ontology _”http://www.example.org/ontologies/example”nonFunctionalProperties
dc#title hasValue ”WRL example ontology”
endNonFunctionalProperties
importsOntology { _”http://www.wsmo.org/ontologies/location”}
SRI, 08/12/2005 15
Relations
• arbitrary arity• may have typing associated with their parameters• either the arity or the type of the parameters must be
declared• may be organized in a hierarchy (using
subRelationOf)
relation distance (ofType City, ofType City, impliesType _decimal) subRelationOf measurement
or untyped: relation distance/3
SRI, 08/12/2005 16
Instances
• Are the objects in the domain• May be members of one or more concepts• May have a number of attribute values associated with them
instance Mary memberOf {Parent, Woman} nfp
dc#description hasValue "Mary is parent of the twins Paul and Susan"
endnfp hasName hasValue "Maria Smith“hasBirthdate hasValue _date(1949,9,12) hasChild hasValue {Paul, Susan}
SRI, 08/12/2005 17
Relation Instances
• Are tuples in a relation
relationInstance distance(Innsbruck, Munich, 234)
SRI, 08/12/2005 18
Axioms
• Refine concept and relation definitions in Ontologies using
logical expressions• Add arbitrary knowledge and constraints• Allowed logical expressions depend on WRL variant
axiom humanDefinition definedBy ?x memberOf Human equivalent ?x memberOf Animal and ?x memberOf LegalAgent
axiom humanBMIConstraint definedBy
!- naf bodyMassIndex(?b, ?l, ?w) and ?x memberOf Human and
?x[length hasValue ?l, weight hasValue ?w, bmi hasValue ?b].
SRI, 08/12/2005 19
Logical expressions
• Allow to use the full expressive power of the underlying logic• The syntax is inspired by First-Order Logic and F-Logic• Specific extensions to capture Logic Programming constructs
– Negation-as-failure
– LP implication :-
– Constraint symbol !-
• Variables: implicitly universally quantified outside the formula • Language keywords resemble natural language and are unambiguous
SRI, 08/12/2005 20
Outline
• Introduction• Syntax• WRL Variants• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 21
WRL Variants
WRL Core : interoperability layer between Description Logics and LP – the common part of OWL and WRL i.e. same ground entailment
Similar to OWL we layer the rule language wrt. Expressiveness:
SRI, 08/12/2005 22
Conceptual Syntax restrictions in WRL Core
• Only impliesType allowed• It is not allowed to specify the reflexive, transitive,
symmetric and inverseOf features for attributes• Cardinality constraints are not allowed• Constraining attribute definitions can appear only for datatype
ranges• The arity of relations is restricted to two• Constraining parameter definition can be done only for
parameters with a datatype as a range• Only the second parameter can have a datatype as range
Remark: these restrictions are for the sake of compatibility with what can be expressed in DLP and OWL
SRI, 08/12/2005 23
WRL Variants
WRL Core : interoperability layer between Description Logics and LP – the common part of OWL and WRL
WRL Flight: based on the Datalog subset of F-Logic extended with locally stratified negation-as-failure, inequality and the unification operator under the Perfect Model Semantics
SRI, 08/12/2005 24
WRL Variants
WRL Core : interoperability layer between Description Logics and LP – the common part of OWL and WRL
WRL Flight: based on the Datalog subset of F-Logic extended with locally stratified negation-as-failure, inequality and the unification operator under the Perfect Model Semantics
WRL Full: based on full Horn with negation-as-failure under the Well-Founded Semantics + function symbols.
SRI, 08/12/2005 25
WRL-Core Logical Expressions
WRL Core only allows tree shaped rules (DLP), conjunction in the head,discjunction in the body allowed, as long as variable tree has no cyclesand is connected.
Limitations in logical expressions• From Description Logic point-of-view, there is a lack of:
– Existentials– Disjunction– (Classical) negation– Equality
• From Logic Programming point-of-view, there is a lack of:– N-ary predicates– Chaining variables over predicates– (Default) negation– Function symbols
SRI, 08/12/2005 26
WRL-Flight Logical Expressions
• Syntax based on Datalog fragment of F-Logic, extended with negation-as-failure (the need for LP implication), the inequality symbol and the unification operator
• Allows classical implication in the head of a rule• Arbitrary Datalog rules:
– N-ary predicates– Chaining variables over predicates
• From Description Logic point-of-view, there is a lack of:– Existentials– Disjunction– (Classical) negation– Equality
• From Logic Programming point-of-view, there is a lack of:– Function symbols
SRI, 08/12/2005 27
WRL-Full Logical Expressions
• Extends WRL-Flight logical expressions with:– Unsafe rules– Unstratified negation– Full Lloyd-Topor – arbitrary first-order formulas in the body of a rule
• From Description Logic point-of-view, there is a lack of:– Existentials– Disjunction– (Classical) negation– Equality
SRI, 08/12/2005 28
Outline
• Introduction• WRL Variants• Syntax• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 29
WRL Semantics
(I) Mapping between the conceptual syntax for ontologies (the part that has a meaning in the logical language) and the logical expression syntax.
(II) Mapping to existing logical formalisms• WRL Core Semantics
– Mapping to Horn Logic (or Horn fragment of F-Logic)– the Lloyd-Topor transformations are applied for obtaining the
actual Datalog rules– First-order semantics
SRI, 08/12/2005 30
• ?x memberOf Human equivalent ?x memberOf Animal and ?x memberOf LegalAgent
memberOf(?x,Human) , memberOf(?x,Animal) and memberOf(?x,LegalAgent)
Lloyd-Topor:
memberOf(?x,Human) ) memberOf(?x,Animal)
memberOf(?x,Human) ) memberOf(?x,Animal)
memberOf(?x,Animal) and memberOf(?x,LegalAgent) ) memberOf(?x,Human)
SRI, 08/12/2005 31
WRL Semantics
• WRL – Flight Semantics– mapping to function-free F-Logic LP (extended with
inequality and stratified default negation in the body of the rule)
– Again full Lloyd-Topor transformations are applied for obtaining the actual Datalog rules
– the perfect model semantics – every stratified program has a unique perfect model
• WRL – Full Semantics– mapping to full LP (i.e., which allows function symbols and
unsafe rules) with inequality and unstratified negation.– Full Lloyd-Topor transformations are applied for obtaining
the actual LP rules– Well-Founded Semantics
SRI, 08/12/2005 32
Outline
• Introduction• Syntax• WRL Variants• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 33
WRL Exchange Syntaxes
• XML Syntax– RuleML v0.89 – the main XML serialization language for the logical
expression part– the human-readable syntax – the basis for the XML syntax for the
conceptual part of WRL– for exchange over the Web and for interoperability with RuleML -
enabled applications– translation between human-readable and XML syntax– It is expected that WRL, WSML, SWSL and RuleML will converge
on XML Syntax
• RDF Syntax– the vocabulary used is an extension of the RDF Schema
vocabulary – interoperability with RDF applications– translation between human-readable and RDF syntax– for logical expressions, XML literals are used
SRI, 08/12/2005 34
Outline
• Introduction• Syntax• WRL Variants• Semantics• Exchange Syntaxes• Why not SWRL? Related approaches• Conclusions
SRI, 08/12/2005 35
• So, why not SWRL?– Extends OWL too much: is not a rule language in the LP sense but
rather an expressive extension of OWL, unfortunately undecidable, not translatable to existing fast LP engines.
– Restricts unnecessarily: SWRL only allow binary predicates
• What about relation to OWL?– WRL core directly translatable (based on DLP), semantic overlap:
ground entailment of facts.– We added in Flight and Full: relaxation of meta-reasoning-restriction
• SWSL-Rules– SWSL also defines a very related rule language, we expect
convergence in the W3C rules working group, but has more features, no conceptual syntax.
• WSML Language for WSMO, WRL is the basis for WSML logical expressions, extensions necessary (e.g. TR under
discussion)
SRI, 08/12/2005 36
• What's next?– Scoped negation instead of negation as failure?
– Better integration with DL like syntax of OWL?
– Layer other components of WSMO on top of that language and apply a similar layering of expressivity, e.g. for pre-/postconditions of services, etc.
– Investigate extensions of F-Logic, combination with Transaction Logic, however we don't currently go the full path of SWSL to have all possible extensions at once.
SRI, 08/12/2005 37
Conclusions
• WRL is a language for modeling rules for use on the Semantic Web• Derived from the ontology component of the Web Service Modeling
Language (WSML)• WRL is a Web language:
– IRIs for object identification– XML datatypes
• WRL is based on well-known logical formalisms:– Description Logics– Logic Programming– Frame Logic
• Its syntax has two parts:– Conceptual modeling – Logical expressions
• XML and RDF syntaxes for exchange over the Web
Used and promoted in most major projects of DERI: