Integrating OWL and Rules: A Syntax Proposal for Nominal Schemas

Similar documents
OWL Rules, OK? Ian Horrocks Network Inference Carlsbad, CA, USA

OWL DL / Full Compatability

Ontological Modeling: Part 7

OWL 2 Rules (Part 2) Tutorial at ESWC2009 May 31, Pascal Hitzler. AIFB, Universität Karlsruhe (TH) Markus Krötzsch

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Canonical Forms and Similarity of Complex Concepts for Improved Ontology Alignment

The Not-So-Easy Task of Computing Class Subsumptions in OWL RL

Ontological Modeling: Part 11

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

SEMANTIC WEB AND COMPARATIVE ANALYSIS OF INFERENCE ENGINES

Knowledge Representation for the Semantic Web

The (Not So) Easy Task of Computing Class Subsumptions in OWL RL

Grounding OWL-S in SAWSDL

SPARQL Back-end for Contextual Logic Agents

Semantics. KR4SW Winter 2011 Pascal Hitzler 1

DLP isn t so bad after all

Automatic Transformation of Relational Database Schema into OWL Ontologies

1. Introduction to SWRL

W3C Rule Interchange Format

The OWL API: An Introduction

Knowledge Representation for the Semantic Web

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

Probabilistic Information Integration and Retrieval in the Semantic Web

OWL 2 Web Ontology Language Primer

OWL 2 Web Ontology Language Primer W3C Recommendation 27 October 2009

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester

SPARQL: An RDF Query Language

COMP718: Ontologies and Knowledge Bases

Comparison of Semantic Web serialization syntaxes

Extracting knowledge from Ontology using Jena for Semantic Web

A Unified Logical Framework for Rules (and Queries) with Ontologies - position paper -

Tony Mallia Edmond Scientific

The DR-Prolog Tool Suite for Defeasible Reasoning and Proof Explanation in the Semantic Web

Modular Ontologies As A Bridge Between Human Conceptualization and Data

Schema-Agnostic Query Rewriting in SPARQL 1.1

A Typed Hybrid Description Logic Programming Language with Polymorphic Order-Sorted DL-Typed Unification for Semantic Web Type Systems

Standardization of Ontologies

Publishing OWL ontologies with Presto

Ontological Modeling: Part 14

Extending the SHOIQ(D) Tableaux with DL-safe Rules: First Results

Can OWL and Logic Programming Live Together Happily Ever After?

Web Ontology Language (OWL)

Semantic Web KM: A Knowledge Machine for Semantic Webs

Description Logic. Eva Mráková,

RDF/RuleML Interoperability

Logical reconstruction of RDF and ontology languages

Representing Product Designs Using a Description Graph Extension to OWL 2

Visual Modeling of OWL-S Services

A Review and Comparison of Rule Languages and Rule-based Inference Engines for the Semantic Web

Extracting Finite Sets of Entailments from OWL Ontologies

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Маркус Крёч (Markus Krötzsch) University of Oxford. KESW Summer School 2012

OWL + Rules =..? David Carral 1 Matthias Knorr 2 Adila Krisnadhi 1. 10th Extended Semantic Web Conference (ESWC) 2013

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Owl2vcs: Tools for Distributed Ontology Development

Validating Ontologies against OWL 2 Profiles with the SPARQL Template Transformation Language

Ontological Modeling: Part 8

Mapping between Digital Identity Ontologies through SISM

Contents. Bibliography 10

Henrihs Gorskis Riga Technical University

Description Logics. Markus Krötzsch, František Simančík, and Ian Horrocks. Department of Computer Science, University of Oxford, UK

The P2 Registry

BaseVISor: A Triples-Based Inference Engine Outfitted to Process RuleML & R-Entailment Rules *

Limitations of the WWW

Efficient Querying of Web Services Using Ontologies

OWL 2 The Next Generation. Ian Horrocks Information Systems Group Oxford University Computing Laboratory

Semantic Query: Solving the Needs of a Net-Centric Data Sharing Environment

OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax

A Meta-logical Approach for Reasoning with Ontologies and Rules Expressed In OWL 2

Knowledge Representation for the Semantic Web Lecture 4: Description Logics III

OWL an Ontology Language for the Semantic Web

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Making Ontology Documentation with LODE

Knowledge Representation for the Semantic Web

Description Logics and OWL

Querying Description Logics

TrOWL: Tractable OWL 2 Reasoning Infrastructure

Semantic Web Technologies

Preserving Semantics of Owl 2 Ontologies in Relational Databases Using Hybrid Approach

Reasoning with Rules SWRL as Example. Jan Pettersen Nytun, UIA

OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax

The OWL Full/DL gap in the field

Combining RDF Vocabularies for Expert Finding

OWL 2 Update. Christine Golbreich

POMELo: A PML Online Editor

Semantic Technologies and CDISC Standards. Frederik Malfait, Information Architect, IMOS Consulting Scott Bahlavooni, Independent

EQuIKa System: Supporting OWL applications with local closed world assumption

A Solution for the Man-Man Problem in the Family History Knowledge Base

Blending FHIR RDF and OWL

For return on 19 January 2018 (late submission: 2 February 2018)

Deep Integration of Scripting Languages and Semantic Web Technologies

Logical Foundations for the Semantic Web

From Online Community Data to RDF

Today: RDF syntax. + conjunctive queries for OWL. KR4SW Winter 2010 Pascal Hitzler 3

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

A keyword-driven approach for generating OWL DL conformance test data

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

Approximate OWL Instance Retrieval with SCREECH

Bridging the Gap between Semantic Web and Networked Sensors: A Position Paper

BaseVISor: A Triples-Based Inference Engine Outfitted to Process RuleML and R-Entailment Rules

Reducing OWL Entailment to Description Logic Satisfiability

Transcription:

Integrating OWL and Rules: A Syntax Proposal for Nominal Schemas David Carral Martínez, Adila A. Krisnadhi, Pascal Hitzler Kno.e.sis Center, Wright State University, Dayton OH 45435, USA Abstract. This paper proposes an addition to OWL 2 syntax to incorporate nominal schemas, which is a new description-logic style extension of OWL 2 which was recently proposed, and which makes is possible to express variable nominal classes within axioms in an OWL 2 ontology. Nominal schemas make it possible to express DL-safe rules of arbitrary arity within the extended OWL paradigm, hence covering the well-known DL-safe SWRL language. To express this feature, we extend OWL 2 syntax to include necessary and minimal modifications to both Functional and Manchester syntax grammars and mappings from these two syntaxes to Turtle/RDF. We also include several examples to clarify the proposal. 1 Introduction Nominal schemas [4,5] are a new description-logic style extension of OWL 2 [10] which can be used like variable nominal classes within OWL 2 axioms. Although their semantics restricts them only to stand for named individuals, nominal schemas allow us to express arbitrarily shaped (Datalog rules within the description logic (DL paradigm, hence pushing the expressivity of OWL 2 DL and its fragments even further. While the semantic intuition behind nominal schemas is the same as the one behind DL-safe variables presented in [8], the difference lies in the fact that DL-safe variables are tied to rule languages, while nominal schemas integrate seamlessly with DL syntax. The proposed extension encompasses DL-safe variable SWRL [3,9,4] while staying within the DL/OWL language paradigm and without employing hybrid approaches. Nominal schemas have been introduced as a new general constructor for DL, denoted by the letter V in the DL nomenclature. The addition of nominal schemas has been considered for several DLs such as SROIQ that underlies OWL 2 DL, and SROEL that underlies the OWL 2 EL profile (define DL SROIQV and SROELV, respectively, as extensions of the DLs SROIQ and SROEL. It has been shown in [5] that the worst-case complexity of SROIQV remains N2EXPTIME-complete, i.e., no worse than SROIQ. Furthermore, in the same paper, a tractable fragment of SROIQV has been identified. This fragment is called SROELV n which is obtained by extending SROEL with

nominal schemas in a slightly restricted form. Nevertheless, it still covers 1 both OWL 2 EL and (DL-safe OWL 2 RL. We present an example of nominal schemas in the following. First, rules such as (1 are not expressible in the current OWL 2 DL standard. hasfather(x,y hasbrother(y,z hasteacher(x,z ChildTaughtByUncle(x (1 Intuitively, this is due to the fact that the body of the above rules is not treeshaped. See [4] and [6] (which formally defines not tree-shaped rules that can be expressed in SROIQ extended with role regularity for further discussion. In contrast, using nominal schemas, rule (1 can be expressed as (2. hasteacher.{z} hasfather. hasbrother.{z} ChildTaughtByUncle. (2 The expression {z} is a nominal schema, which is to be read as a variable nominal that can only represent nominals (i.e., z binds to known individuals, where the binding is the same for all occurrences of the same nominal schema in an axiom. Variables x and y can still take arbitrary values and are hidden in the DL syntax, z needs to be restricted to be DL-safe to retain the conclusion. For a more detailed description of nominal schemas including their formal semantics see [5]. This document proposes representations for nominal schemas for the prominent variants of OWL syntax: Functional, Manchester, Turtle and RDF/XML. For an introduction of the OWL syntax, consult [10]. Mapping from Turtle triples to RDF/XML is a well defined and automatized process so the RDF/XML based syntax will not be directly addressed in this document, it is assumed that it can be easily derived from the Turtle Syntax. New reserved words are presented to mark the appearance of nominal schemas in the different syntax variants (Functional, Manchester and Turtle as well as the necessary modifications to their grammars (Functional and Manchester. The representation of nominal schemas in Turtle syntax is defined by the mappings from Functional and Manchester. Several approaches were considered for the representation and storage of nominal schemas, such as the use of entities with the ontology namespace, but this paper proposes the use of string literals. With this approach, we prevent the possible overlap that could be produced by giving the same name to two different nominal schemas. If these are declared as entities and, by error, two of them share the same name, they will end up pointing to the same node in an RDF graph when they most likely refer to different individuals. The selected approach, the use of a xsd:string datatype, is also considered by the RIF XML format [11]. Note that the same nominal schema can never appear in two different statements of an ontology more precisely, if the same variable occurs in different axioms, then they are considered distinct (i.e., local to the axiom, in a way similar to the use of variables in rules. So a specific nominal schema is local to one single axiom. By using a string type, the occurrence of 1 without datatype-related features

the nominal schema is exclusively bound to the axiom where it appears and the same string could be repeated in different axioms along the ontology safely. Even if two nominal schemas use the same string, they will be considered as different occurrences of a datatype and therefore, they can be understood as two separated nodes in an RDF graph. Using the underscore to mark the appearance of a nominal schema, as it is done for Turtle blank nodes, was also considered. This approach was rejected because it could induce errors. Although in some cases both nominal schemas and blank nodes can represent individuals in an RDF graph they are completely different concepts. Using the underscore to mark both could be tricky and would make mappings from and to Turtle syntax difficult to define. With such a similar syntax the mapping may produce errors confusing nominal schemas with blank nodes and problems may arise when we want to move from the Turtle syntax to an RDF Graph. The document is structured as follows. Section 2 contains the necessary modifications that have to be made to the Manchester and Functional Syntax grammars in order to include nominal schemas. Section 3 refers to the mappings from these syntaxes to Turtle. Section 4 concludes. Appendix A contains two examples for the usage of nominal schemas in the different syntax variants that are discussed in the document. 2 Grammar Modifications We propose several changes to the grammars of the different OWL syntaxes in order to include nominal schemas. The presented changes are designed to be minimal and imply very small modifications to the formal definitions of these grammars. Functional Syntax Grammar Modifications We define in this section the required modifications we propose for the Functional Syntax grammar [1]. The reserved word ObjectVariable will be used to mark the appearance of a nominal schema. Nominal schemas will be in parentheses and will always be followed by the expression ˆˆxsd:string. The changes are formally defined in the next paragraphs. Add the next production rule to the grammar: ObjectVariable := ObjectVariable ( quotedstring ˆˆxsd:string Add the non-terminal symbol ObjectVariable, to the ClassExpression next production rule:

ClassExpression := Class ObjectIntersectionOf ObjectUnionOf ObjectComplementOf ObjectOneOf ObjectSomeValuessFrom ObjectAllValuesFrom ObjectHasValue ObjectHasSelf ObjectMinCardinality ObjectMaxCardinality ObjectExactCardinality DataSomeValuesFrom DataAllValuesFrom DataHasValue DataMinCardinality DataMaxCardinality DataExactCardinality ObjectVariable Although nominal schemas are not conceptually class expressions, their addition in this part of the grammar has been chosen in order to keep the modifications as small as possible. Manchester Syntax Grammar Modifications Again, the reserved word ObjectVariable will be used to mark the appearance of the nominal schemas in the Manchester Syntax [2]. As in the Functional Syntax, the nominal will be in parentheses and followed by ˆˆxsd:string. The needed changes to this grammar are: Add the non-terminal symbol ObjectVariable to the atomic production rule: atomic := classiri { individuallist } ( description ObjectVariable Add the next production rule to the grammar: ObjectVariable := ObjectVariable ( quotedstring ˆˆxsd:string 3 Mapping FS and MS to Turtle We define the syntax of nominal schemas in Turtle through the mapping from Functional and Manchester Syntaxes to the triple-notation. We assume that from this notation the process to move to RDF/XML is already formalized so, as said before, the XML syntax will not be directly addressed in this document.

Functional Syntax to and from Turtle The W3C document containing the formal mapping from FS to Turtle can be found in [7]. To add nominal schemas syntax to the mappings, first add the next row to the mapping from FS to Turtle: Functional-Style Syntax S Triples Generated Main Node in an Invocation of T(S of T(S ObjectVariable( v1 ˆˆxsd:string :x rdf:type owl:objectvariable :x :x owl:variableid v1 Then add the next row to the mapping from Turtle to FS: RDF/XML Triples Functional Syntax :x rdf:type owl:objectvariable ObjectVariable( v1 ˆˆxsd:string :x owl:variableid v1 Manchester Syntax to and from Turtle The mappings between Manchester Syntax and Turtle are defined in a similar way as the one from the Functional Syntax. To include nominal schemas in this mapping, we first need to add the next row to the table from MS to Turtle: Manchester-Style Syntax S Triples Generated Main Node in an Invocation of T(S of T(S Variable v1 ˆˆxsd:string :x rdf:type owl:objectvariable :x :x owl:variableid v1 Then add the next row to the mapping from Turtle to FS: 4 Conclusions RDF/XML Triples Manchester Syntax :x rdf:type owl:objectvariable Variable v1 ˆˆxsd:string :x owl:variableid v1 In this document we propose ways for representing nominal schemas in the different syntaxes of the OWL language. Reserved words have been provided for Functional, Manchester, Turtle and RDF/XML syntaxes, along with the consistent modifications to their grammars and mapping functions. Nominal schemas will be stored as string values in the OWL syntaxes to prevent overlapping errors. In the appendix of this document two examples are presented showing nominal schemas across the different covered syntaxes of OWL. Acknowledgements: This work was partially supported by the National Science Foundation under award 1017225 III: Small: TROn Tractable Reasoning with Ontologies. The first author acknowledges support from Programa de Intercambio de la Universidad Pontificia de Salamanca 2010/11. The second author acknowledges support by a Fulbright Indonesia Presidential Scholarship PhD Grant 2010.

References 1. Peter F. Patel-Scheneider Boris Motik and Bijan Parsia, editors. OWL 2 Web Ontology Language: Structural Specification and Functional-Style. W3C Recommendation 27 October 2009, 2009. http://www.w3.org/tr/owl2-syntax/. 2. Matthew Horridge and Peter F. Patel-Scheneider. OWL 2 Web Ontology Language: Manchester Syntax. W3C Working Group Note 27 October 2009, 2009. http://www.w3.org/tr/owl2-manchester-syntax/. 3. Ian Horrocks, Peter F. Patel-Schneider, Harold Boley, Said Tabet, Benjamin Grosof, and Mike Dean. SWRL: A Semantic Web Rule Language Combining OWL and RuleML. W3C Member Submission 21 May 2004, 2004. Available from http://www.w3.org/submission/swrl/. 4. Adila A. Krisnadhi, Frederick Maier, and Pascal Hitzler. OWL and Rules. In A. Polleres, C. d Amato, M. Arenas, S. Handschuh, P. Kroner, S. Ossowski, and P.F. Patel-Schneider, editors, Reasoning Web. Semantic Technologies for the Web of Data. 7th International Summer School, pages 382 415. Lecture Notes in Computer Science Vol. 6848, Springer, Heidelberg, 2011, pp. 382-415., Galway, Ireland, August 2011. 5. Markus Krötzsch, Frederick Maier, Adila A. Krisnadhi, and Pascal Hitzler. A Better Uncle for OWL: Nominal Schemas for Integrating Rules and Ontologies. In S. Sadagopan, Krithi Ramamritham, Arun Kumar, M.P. Ravindra, Elisa Bertino, and Ravi Kumar, editors, Proc. of the 20th International World Wide Web Conference (WWW 11, pages 645 654, Hyderabad, India, March/April 2011. ACM, New York. 6. David Carral Martínez and Pascal Hitzler. Extending Description Logic Rules. In Proceedings of the 9th Extended Semantic Web Conference, ESWC, May 2012., Heraklion, Crete, Greece,, 2012. Lecture Notes in Computer Science, Springer, Heidelberg (2012, to appear. 7. Boris Motik and Peter F. Patel-Scheneider, editors. OWL 2 Web Ontology Language: Mapping to RDF Graphs. W3C Recommendation 27 October 2009, 2009. http://www.w3.org/tr/owl2-mapping-to-rdf/. 8. Boris Motik, Ulrike Sattler, and Rudi Studer. Query answering for OWL-DL with rules. Journal of Web Semantics: Science, Services and Agents on the World Wide Web, 3(1:41 60, 2005. 9. Boris Motik, Ulrike Sattler, and Rudi Studer. Query answering for owl-dl with rules. Web Semant., 3:41 60, July 2005. 10. W3C OWL Working Group. OWL 2 Web Ontology Language: Document Overview. W3C Recommendation, 27 October 2009. Available at http://www.w3.org/tr/ owl2-overview/. 11. Harold Boley Gary Hallmark Michael Kifer Adrian Paschke Axel Polleres Dave Reynolds, editor. OWL 2 Web Ontology Language: Manchester Syntax. W3C Recommendation 22 June 2010, 2010. http://www.w3.org/tr/rif-core. A Syntax Examples A.1 Example 1 Rule Syntax hasfather(x, y hasbrother(y, z hasteacher(x, z ChildTaughtByUncle(x

DL Syntax hasfather.( hasbrother.{z} hasteacher.{z} ChildTaughtByUncle Functional Syntax SubClassOf( ObjectIntersectionOf( ObjectSomeValuesFrom( :hasfather ObjectSomeValuesFrom( :hasbrother ObjectVariable( v1 ˆˆxsd:string ObjectSomeValuesFrom( :hasteacher ObjectVariable( v1 ˆˆxsd:string :ChildTaughtByUncle RDF/XML Syntax :x1 rdfs:subclassof :ChildTaughtByUncle :x1 rdf:type owl:class :x1 owl:intersectionof ( :x2 :x3 :x2 rdf:type owl:restriction :x3 rdf:type owl:restriction :x2 owl:onproperty :hasfather :x3 owl:onproperty :hasteacher :x2 owl:somevaluesfrom :x5 :x3 owl:somevaluesfrom :x4 :x4 rdf:type owl:restriction :x6 rdf:type owl:objectvariable :x4 owl:onproperty :hasbrother :x6 owl:variableid v1 :x4 owl:somevaluesfrom :x6 :x5 rdf:type owl:objectvariable :x5 owl:variableid v1 Manchester Syntax Class: ChildTaughtByUncle SubClassOf: ( hasteacher some (Variable v1 ˆˆxsd:string and ( hassubmittedpaper some (hasfather some (hasbrother some (Variable v1 ˆˆxsd:string

A.2 Example 2 Rule Syntax hasreviewassignment(v, x hasauthor(x, y atvenue(x,z hassubmittedpaper(v, u hasauthor(u, y atvenue(u, z ReviewerWithConflictingAssignment(v DL Syntax hasreviewassignment.( hasauthor.{a} atvenue.{b} hassubmittedpaper.( hasauthor.{a} atvenue.{b} ReviewerWithConflictingAssignment Functional Syntax SubClassOf( ObjectIntersectionOf( ObjectSomeValuesFrom ( :hasreviewassign ObjectIntersectionOf ( ObjectSomeValuesFrom (:hasauthor ObjectVariable( v1 ˆˆxsd:string ObjectSomeValuesFrom (:atvenue ObjectVariable( v2 ˆˆxsd:string ObjectSomeValuesFrom ( :hassubmittedpaper ObjectIntersectionOf ( ObjectSomeValuesFrom (:hasauthor ObjectVariable( v1 ˆˆxsd:string ObjectSomeValuesFrom (:atvenue ObjectVariable( v2 ˆˆxsd:string :ReviewerWithConflictingAssignment RDF/XML Syntax :x1 rdfs:subclassof :ReviewerWithConflictingAssignment :x1 rdf:type owl:class :x1 owl:intersectionof ( :x2 :x3

:x2 rdf:type owl:restriction :x3 rdf:type owl:restriction :x2 owl:onproperty :hasreviewassign :x3 owl:onproperty :hassubmittedpaper :x2 owl:intersectionof ( :x4 :x5 :x3 owl:intersectionof ( :x8 :x9 :x4 rdf:type owl:restriction :x8 rdf:type owl:restriction :x4 owl:onproperty :hasauthor :x8 owl:onproperty :hasauthor :x4 owl:somevaluesfrom :x6 :x8 owl:somevaluesfrom :x10 :x6 rdf:type owl:objectvariable :x10 rdf:type owl:objectvariable :x6 owl:variableid v1 :x10 owl:variableid v1 :x5 rdf:type owl:restriction :x9 rdf:type owl:restriction :x5 owl:onproperty :atvenue :x9 owl:onproperty :atvenue :x5 owl:somevaluesfrom :x7 :x9 owl:somevaluesfrom :x11 :x7 rdf:type owl:objectvariable :x11 rdf:type owl:objectvariable :x7 owl:variableid v2 :x11 owl:variableid v2 Manchester Syntax Class: ReviewerWithConflictingAssignment SubtClassOf: ( hasreviewassign some ( (hasauthor some (Variable v1 ˆˆxsd:string and (atvenue some (Variable v2 ˆˆxsd:string and ( :hassubmittedpaper some ( (hasauthor some (Variable v1 ˆˆxsd:string and (atvenue some (Variable v2 ˆˆxsd:string