370 likes | 396 Views
Introduction to the syntax, semantics, and variants of WRL, a rule-based ontology language for the Semantic Web. Comparison with SWRL and related approaches.
E N D
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) Presented by: Axel Polleres axel.polleres@deri.org
Outline • Introduction • Syntax • WRL Variants • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
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
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(http://www.polleres.net/axel type(xyz:Human) value(age 32)) • equality and disjointness of classes and individuals
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.
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.])
Introduction • - placed on the “Ontology vocabulary“ layer in the Semantic Web language layer cake
Outline • Introduction • Syntax • WRL Variants • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
WRL Syntax • The conceptual syntax • Modeling the ontologies • frame-like style (similar to OIL) • The logical expressions syntax • Refine these definitions using arbitrary rules
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
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
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 transitiveimpliesType Human hasWeight ofType (1) _float hasBirthdate ofType (1) _date hasObit ofType (0 1) _date hasBirthplace ofType (1) loc#location isMarriedTo symmetricimpliesType (0 1) Human hasCitizenship ofType oo#country
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
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”}
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
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}
Relation Instances • Are tuples in a relation relationInstance distance(Innsbruck, Munich, 234)
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].
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
Outline • Introduction • Syntax • WRL Variants • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
WRL Variants Similar to OWL we layer the rule language wrt. Expressiveness: • WRL Core : interoperability layer between Description Logics and LP – the common part of OWL and WRL i.e. same ground entailment
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
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 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.
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
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
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
Outline • Introduction • WRL Variants • Syntax • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
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
?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)
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
Outline • Introduction • Syntax • WRL Variants • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
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
Outline • Introduction • Syntax • WRL Variants • Semantics • Exchange Syntaxes • Why not SWRL? Related approaches • Conclusions
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)
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.
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: