Copyright 2004 Digital Enterprise Research Institute. All rights reserved. SRI, 08/12/20051 Web Rule Language (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
SRI, 08/12/20052 Outline Introduction Syntax WRL Variants Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/20053 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/20054 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)) –individuals Individual( type(xyz:Human) value(age 32)) –equality and disjointness of classes and individuals
SRI, 08/12/20055 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. Additional inferences 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/20056 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/20057 Introduction - placed on the “Ontology vocabulary“ layer in the Semantic Web language layer cake
SRI, 08/12/20058 Outline Introduction Syntax WRL Variants Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/20059 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/ 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/ 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/ Concept Example concept Human nonFunctionalProperties 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/ 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/ Ontology Header wrlVariant _" namespace {_" dc _" foaf _" wrl _" loc _" } ontology _” nonFunctionalProperties dc#title hasValue ”WRL example ontology” endNonFunctionalProperties importsOntology { _”
SRI, 08/12/ 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/ 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/ Relation Instances Are tuples in a relation relationInstance distance(Innsbruck, Munich, 234)
SRI, 08/12/ 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/ 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/ Outline Introduction Syntax WRL Variants Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/ 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/ 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/ 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/ 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/ 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 cycles and 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/ 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/ 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/ Outline Introduction WRL Variants Syntax Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/ 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/ ?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,Animal) and memberOf(?x,LegalAgent) ) memberOf(?x,Human)
SRI, 08/12/ 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/ Outline Introduction Syntax WRL Variants Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/ 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/ Outline Introduction Syntax WRL Variants Semantics Exchange Syntaxes Why not SWRL? Related approaches Conclusions
SRI, 08/12/ 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/ 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/ 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: