Ontologies and Schema Languages on the Web. Kaveh Shahbaz

Similar documents
XML (Extensible Markup Language)

XML extensible Markup Language

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1

The <schema> Element. <?xml version="1.0"?> <xs:schema>... </xs:schema>

Semantic Web. RDF and RDF Schema. Morteza Amini. Sharif University of Technology Spring 90-91

markup language carry data define your own tags self-descriptive W3C Recommendation

Markup Languages. Lecture 4. XML Schema

Linked Data and RDF. COMP60421 Sean Bechhofer

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

Helmi Ben Hmida Hannover University, Germany

Linked Data and RDF. COMP60421 Sean Bechhofer

MANAGING INFORMATION (CSCU9T4) LECTURE 2: XML STRUCTURE

Linked data basic notions!

Semantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95

RDF. Dr. Mustafa Jarrar. Knowledge Engineering (SCOM7348) University of Birzeit

Adding formal semantics to the Web

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements

The Semantic Web. Mansooreh Jalalyazdi

Web Science & Technologies University of Koblenz Landau, Germany RDF. Steffen Staab. Semantic Web

Logic and Reasoning in the Semantic Web (part I RDF/RDFS)

Introduction to XML Schema. The XML Schema language is also referred to as XML Schema Definition (XSD).

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

XML and Semantic Web Technologies. III. Semantic Web / 1. Ressource Description Framework (RDF)

Semantic Web. Tahani Aljehani

Semantic Web Ontologies

Ontologies aka: your metadata elements

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School

Semantic Web Technologies

RDF Schema. Mario Arrigoni Neri

Web Computing. Revision Notes

Web Science & Technologies University of Koblenz Landau, Germany. RDF Schema. Steffen Staab. Semantic Web

Last week we saw how to use the DOM parser to read an XML document. The DOM parser can also be used to create and modify nodes.

RDF Schema. Philippe Genoud, UFR IM2AG, UGA Manuel Atencia Arcas, UFR SHS, UGA

Multi-agent and Semantic Web Systems: RDF Data Structures

Semantic Web In Depth: Resource Description Framework. Dr Nicholas Gibbins 32/4037

Semantic Web Technologies: RDF + RDFS

RDF Graph Data Model

Seman&cs)of)RDF) )S) RDF)seman&cs)1)Goals)

Java EE 7: Back-end Server Application Development 4-2

Semantic Web Test

SEMANTIC WEB 05 RDF SCHEMA MODELLING SEMANTICS IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

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

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

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

Data formats. { "firstname": "John", "lastname" : "Smith", "age" : 25, "address" : { "streetaddress": "21 2nd Street",

Semantic Web Technologies and Automated Auctions

Bioinforma)cs Resources XML / Web Access

SKOS. COMP60421 Sean Bechhofer

XML. Presented by : Guerreiro João Thanh Truong Cong

What is XML? XML is designed to transport and store data.

Marker s feedback version

XML. Document Type Definitions XML Schema. Database Systems and Concepts, CSCI 3030U, UOIT, Course Instructor: Jarek Szlichta

SWAD-Europe Deliverable 8.1 Core RDF Vocabularies for Thesauri

Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013

Introduction to Ontologies

CSc 8711 Report: OWL API

but XML goes far beyond HTML: it describes data

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Semantic Web. Part 3 The ontology layer 1: Ontologies, Description Logics, and OWL

RDF /RDF-S Providing Framework Support to OWL Ontologies

An RDF-based Distributed Expert System

Structure of This Presentation

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION

RDF. Mario Arrigoni Neri

Web Services Part I. XML Web Services. Instructor: Dr. Wei Ding Fall 2009

Table of Contents. iii

Chapter 3. RDF Schema

1 Introduction ). [Fensel et al., 2000b]

The components of a basic XML system.

Languages of the WEB. Jukka K. Nurminen

A) XML Separates Data from HTML

OWL DL / Full Compatability

Semantic Services. Michael Wollowski

Knowledge Representation for the Semantic Web

Semantic Web. MPRI : Web Data Management. Antoine Amarilli Friday, January 11th 1/29

Internet Technologies 11-XML. F. Ricci 2010/2011

Appendix A: OIL Syntax in XML

Enabling knowledge representation on the Web by extending RDF Schema

Semantic Web Knowledge Representation in the Web Context. CS 431 March 24, 2008 Carl Lagoze Cornell University

The OWL API: An Introduction

RDF(S) Resource Description Framework (Schema)

Semantic Web Technologies: Web Ontology Language

01 INTRODUCTION TO SEMANTIC WEB

INTERNET PROGRAMMING XML

Knowledge Representation for the Semantic Web

CS Knowledge Representation and Reasoning (for the Semantic Web)

Session 23 XML. XML Reading and Reference. Reading. Reference: Session 23 XML. Robert Kelly, 2018

SEMANTIC WEB 03 RDF DATA MODEL RESOURCE DESCRIPTION FRAMEWORK IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

Chapter 13: Advanced topic 3 Web 3.0

XML for Android Developers. partially adapted from XML Tutorial by W3Schools

Semistructured Data Management Part 3 (Towards the) Semantic Web

The Resource Description Framework and its Schema

Semantics. Matthew J. Graham CACR. Methods of Computational Science Caltech, 2011 May 10. matthew graham

Deep integration of Python with Semantic Web technologies

Resource Description Framework (RDF)

extensible Markup Language (XML)

RDF. Charlie Abela Department of Artificial Intelligence

Design and Implementation of an RDF Triple Store

Transcription:

Ontologies and Schema Languages on the Web Kaveh Shahbaz 83700805 K_Shahbaz@ce.sharif.edu

Outline Abstract Introduction of ontologies and schemas and relations XML schema and ontology Language RDF schema and ontology Language Specific ontology language : OIL Comparison between XML Schema, RDFS, OIL

Ontology in philosophy Semantics, the meaning of meaning Philosophical discipline, branch of philosophy that deals with the nature and the organization of reality Science of Being Tries to answer the question What is being? What are the features common to all being?

Ontology in computer science Tom Gruber : Is a specification of conceptualization. Is a description of the concepts and relationships that can exist for an agent or a community of agents. Nicola Guarino In AI, an Ontology refers to an engineering artifacts, constituted by a specific vocabulary used to describe a certain reality, plus a set of explicit assumptions regarding the intended meaning of the vocabulary words.

Ontology components Concepts Properties Cat, Dog Constraints Axioms Length, Age Cardinality is at least 1 Relationships Cows are larger than dogs Is a, Part of

Ontology, Taxonomy, knowledge base

Ontology Example

Schema In Particular, Those for databases, have been developed in computer science to describe the structure and semantics of data. A well-known example : a relational database schema But it is so rigid Therefore, new schema languages have arisen that better fit the needs of richer data models: XML Schema

Ontologies and the SW Languages Most Semantic Web languages are designed explicitly for representing ontologies RDF Schema DAML+OIL SHOE XOL XML Schema

Ontology Languages

SW Languages The languages differ in their syntax We are not concerned with it here An ontology is a conceptual representation terminology Class-concept Instance-object Slot-property expressivity What we can express in some languages, we cannot express in others semantics The same statements may mean different things in different languages

)DTD )Data Type Definition The purpose of a Document Type Definition is to define the legal building blocks of an XML document. It defines the document structure with a list of legal elements. With a DTD, independent groups of people can agree to use a common DTD for interchanging data. A DTD can be declared inline in your XML document, or as an external reference. Internal DOCTYPE declaration External DOCTYPE declaration <!DOCTYPE note SYSTEM "note.dtd">

DTD <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend</body> </note>

XML Schema XML Schema is an XML based alternative to DTD. An XML schema describes the structure of an XML document. The XML Schema language is also referred to as XML Schema Definition (XSD). The purpose of an XML Schema is to define the legal building blocks of an XML document, just like a DTD.

XML Schema defines elements that can appear in a document defines attributes that can appear in a document defines which elements are child elements defines the order of child elements defines the number of child elements defines whether an element is empty or can include text defines data types for elements and attributes defines default and fixed values for elements and attributes

XML Schema XML Schemas are the Successors of DTDs because: XML Schemas are extensible to future additions XML Schemas are richer and more useful than DTDs XML Schemas are written in XML XML Schemas support data types XML Schemas support namespaces XML Schema is a W3C Recommendation XML Schema was originally proposed by Microsoft, but became an official W3C recommendation in May 2001.

XML Schema One of the greatest strengths of XML Schemas is the support for data types.with the support for data types: It is easier to describe permissible document content It is easier to validate the correctness of data It is easier to work with data from a database It is easier to define data facets (restrictions on data) It is easier to define data patterns (data formats) It is easier to convert data between different data types XML Schemas use XML Syntax You don't have to learn another language You can use your XML editor to edit your Schema files You can use your XML parser to parse your Schema files You can manipulate your Schema with the XML DOM You can transform your Schema with XSLT

XML Schema XML Schemas are Extensible Well-Formed is not Enough must begin with the XML declaration must have one unique root element all start tags must match end-tags XML tags are case sensitive all elements must be closed all elements must be properly nested all attribute values must be quoted XML entities must be used for special characters Even if documents are Well-Formed they can still contain errors, and those errors can have serious consequences. Think of this situation: you order 5 gross of laser printers, instead of 5 laser printers. With XML Schemas, most of these errors can be caught by your validating software.

XML Schema XML documents can have a reference to a DTD or an XML Schema A Simple XML Schema This is a simple XML Schema file called "note.xsd" that defines the elements of the XML document ("note.xml"): <?xml version="1.0"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

XML Schema <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns="http://www.w3schools.com"> <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

A Reference to an XML Schema <?xml version="1.0"?><note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.w3schools.com note.xsd"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

XSD Simple Elements XML Schemas define the elements of your XML files. A simple element is an XML element that can contain only text. It cannot contain any other elements or attributes. A simple element is an XML element that can contain only text. It cannot contain any other elements or attributes. The syntax for defining a simple element is: <xs:element name="xxx" type="yyy"/> <lastname>refsnes</lastname> <age>34</age> <dateborn>1968-03-27</dateborn> <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/>

Common XML Schema Data Types XML Schema has a lot of built-in data types. Here is a list of the most common types: xs:string xs:decimal xs:integer xs:boolean xs:date xs:time

Declare Default and Fixed Values for Simple Elements A default value is automatically assigned to the element when no other value is specified. In the following example the default value is "red": <xs:element name="color" type="xs:string" default="red"/> A fixed value is also automatically assigned to the element. You cannot specify another value. In the following example the fixed value is "red": <xs:element name="color" type="xs:string" fixed="red"/>

XSD Attributes All attributes are declared as simple types. Only complex elements can have attributes! <lastname lang="en">smith</lastname> <xs:attribute name="lang" type="xs:string"/> Declare Default and Fixed Values for Attributes Creating Optional and Required Attributes <xs:attribute name="lang" type="xs:string" use="optional"/>

XSD Restrictions/Facets Restrictions are used to control acceptable values for XML elements or attributes. Restrictions on XML elements are called facets. <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> </xs:element>

XSD Complex Elements What is a Complex Element? A complex element is an XML element that contains other elements and/or attributes. There are four kinds of complex elements: empty elements elements that contain only other elements elements that contain only text elements that contain both other elements and text

Examples of Complex XML Elements <product pid="1345"/> <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> <food type="dessert">ice cream</food> <description> It happened on <date lang="norwegian">03.03.99</date>... </description>

How to Define a Complex Element <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> <xs:element name="employee"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element>

RDF The Resource Description Framework (RDF) is a W3C standard for describing Web resources, such as the title, author, modification date, content, and copyright information of a Web page. RDF - Examples of Use Describing properties for shopping items, such as price and availability Describing time schedules for web events Describing information about web pages, such as content, author, created and modified date Describing content and rating for web pictures Describing content for search engines Describing electronic libraries

RDF Rules RDF uses Web identifiers (URIs) to identify resources. RDF describes resources with properties and property values. Resource is anything that can have a URI, such as "http://www.w3schools.com/rdf" A Property is a Resource that has a name, such as "author" or "homepage" A Property value is the value of a Property, such as "Jan Egil Refsnes" or "http://www.w3schools.com" (note that a property value can be another resource)

RDF Statements The combination of a Resource, a Property, and a Property value forms a Statement (known as the subject, predicate and object of a Statement). Statement: "The author of http://www.w3schools.com/rdf is Jan Egil Refsnes". The subject of the statement above is: http://www.w3schools.com/rdf The predicate is: author The object is: Jan Egil Refsnes

RDF Basics Motivation: Provide a standard for meta-data and for descriptions about resources on the web Basics: subject S has a property P with value V (object) hasprice http://books.org/isbn123 $50 Subject Property Value

RDF Example Dr. Hammer XML for Dummies s:hasname s:hastitle s:authorof s:hasprice http://employee.org/id337 http://books.org/isbn123 $50

RDF Example Title Artist Country Company Price Year Empire Burlesque Bob Dylan USA Columbia 10.90 1985

RDF Example <rdf:description rdf:about="http://www.recshop.fake/cd/empire Burlesque"> <cd:artist>bob Dylan</cd:artist> <cd:country>usa</cd:country> <cd:company>columbia</cd:company> <cd:price>10.90</cd:price> <cd:year>1985</cd:year> </rdf:description>

RDF main Elements The main elements of RDF are the root element, <RDF>, and the <Description> element, which identifies a resource. RDF Container Elements : The <rdf:bag> Element. The <rdf:seq> Element The <rdf:alt> Element

Rdf containers Bag: (A resource having type rdf:bag) Represents an unordered list of resources or literals Duplicated values are prermitted Sequence: (A resource having type rdf:seq) Represents ordered list of resources or literal Duplicated values are permitted Alternatives: (A resource having type rdf:alt) Represents group of resources or literals that are alternatives

Linking Statements The subject of one statement can be the object of another Such collections of statements form a directed, labeled graph Knuth hascolleague hascolleague STU hashomepage Carole http://www.stanford.edu Note that the object of a triple can also be a literal (a string)

How can RDF be implemented Usally RDF/XML syntax However other notations are possible e.g. Notation3 <http://xyz.org/#sean> <http://xyz.org/#name> "Sean" <http://xyz.org/#a> <http://xyz.org/#b> <http://xyz.org/#c>

RDF Syntax RDF has an XML syntax that has a specific meaning: Every Description element describes a resource Every attribute or nested element inside a Description is a property of that Resource We can refer to resources by using URIs <Description about="some.uri/person/knuth"> <hascolleague resource="some.uri/stu/math"/> </Description> <Description about="some.uri/stu/math"> <hashomepage>http://www.stanford.edu/~math</hashomepage> </Description> <Description about="some.uri/person/carole"> <hascolleague resource="some.uri/stu/math"/> </Description>

Rdf type RDF predifined property Its value a resource that represent a category or class Its subject Instance of that category or class prefix ex:, URI: http://www.example.org/terms

Bag example

RDF and RDFS RDF is graphical formalism ( + XML syntax + semantics) for representing metadata for describing the semantics of information in a machineaccessible way RDFS extends RDF with schema vocabulary, e.g.: Class, Property type, subclassof, subpropertyof range, domain

)RDF Schema )RDFS RDF data model does not define relationships between properties and resources but is provided by RDF Schema. RDFS offers primitives for defining knowledge models. RDF gives a formalism for meta data annotation, and a way to write it down in XML, but it does not give any special meaning to vocabulary such as subclassof or type RDF Schema allows you to define vocabulary terms and the relations between those terms it gives extra meaning to particular RDF predicates and resources this extra meaning, or semantics, specifies how a term should be interpreted

RDF and RDFS Properties Property name Comment domain range rdfs:isdefinedby Indicates the namespace of a resource Resource Resource rdf:subject The subject of an RDF statement. Statement Resource rdf:predicate the predicate of an RDF statement. Statement Property rdf:object The object of an RDF statement. Statement Not specified rdf:type Indicates membership of a class Resource Class rdfs:member a member of a container Container Not specified rdfs:subclassof Indicates membership of a class Class Class rdf:value Identifies the principal value (usually a string) of a property when the property value is a structured resource Resource Not specified rdfs:subpropertyof Indicates specialization of properties Property Property rdfs:comment Use this for descriptions Resource Literal rdfs:label Provides a human-readable version of a resource name. Resource Literal rdfs:domain A domain class for a property type Property Class rdfs:range A range class for a property type Property Class rdfs:seealso A resource that provides information about the subject resource Resource Resource

RDFS Examples RDF Schema terms (just a few examples): Class Property type subclassof range domain These terms are the RDF Schema building blocks (constructors) used to create vocabularies: <Person,type,Class> <hascolleague,type,property> <Professor,subClassOf,Person> <Carole,type,Professor> <hascolleague,range,person> <hascolleague,domain,person>

RDFS is about creating taxonomies

Problems with RDFS RDFS too weak to describe resources in sufficient detail No localised range and domain constraints Can t say that the range of haschild is person when applied to persons and elephant when applied to elephants No existence/cardinality constraints Can t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents No transitive, inverse or symmetrical properties Can t say that ispartof is a transitive property, that haspart is the inverse of ispartof or that touches is symmetrical Difficult to provide reasoning support No native reasoners for non-standard semantics May be possible to reason via FO axiomatisation

)OIL )Ontology Inference Layer European research community activities resulted in OIL ( http://img.cs.man.ac.uk/oil) OILEd is a tool developed to ease creation of OIL ontologies It is a frame-based language with well defined semantics in DL Serialization to RDF is specified As other frame based systems, concepts are represented as Frames whose main components consists of a list of super classes (more general concepts) and a list of slot/filler pairs. A frame corresponds to a Concept in DL A slot corresponds to a role in a DL A slot/filler pair corresponds to either a value restriction or an existential quantification

OIL Arbitrary class expressions can be formed, and used anywhere that a class name can be used. In particular, class expressions can be used as slot fillers, whereas in typical frame languages slot fillers are restricted to being class (or individual) names. A slot-filler pair can itself be treated as a class: it can be used anywhere that a class name can be used, and can be combined with other classes in class expressions. Class definitions (frames) have an (optional) additional field that specifies whether the class definition is primitive (a subsumption axiom) or nonprimitive (an equiv-alence axiom). If omitted, this defaults to primitive.

Three roots of OIL

An example OIL ontology

).An example OIL ontology )cont

OIL Syntax and Semantics Class definitions Examples

).OIL Syntax and Semantics )cont Slot constraint Examples

).OIL Syntax and Semantics )cont Slot definitions Examples

OIL to XML Schema Translating OIL specifications into an XML Schema definition First, materialize the hierarchy. Second, create a complextype definition for each slot definition in OIL. Third, also create a complextype definition for each class definition in OIL. Fourth, create an element definition for each slot and class. Fifth, define a grammar for each entity, associate basic Datatypes with built-in datatypes if desired, add lexical constraints on datatypes if desired Sixth, replace the module concept of OIL with the namespace and inclusion concept of XML Schema.

.Materializing the hierarchy animal carnivore <= animal herbivore <= animal lion <= carnivore, animal giraffe <= herbivore, animal plant <= plant-or-is-part-of(plant) tree <= plant <= plant-or-is-part-of(plant) tasty-plant <= plant <= plant-or-is-part-of(plant) [,,,] eats <= slot is-eaten-by <= slot has-part <= slot is-part-of <= slot

.Type definitions for slots <complextype name="slottype"/> <complextype name="eatstype" base="slottype" derivedby="extension"/> <complextype name="is-eaten-bytype" base="slottype" derivedby="extension"/> <complextype name="carnivore-eatstype" base="eatstype" derivedby="extension"> <element name="domain" minoccurs="0"> <complextype> <element ref="animal" /> </complextype> </element> <element name="range" minoccurs="0"> <complextype> <element ref="animal" /> </complextype> </element> </complextype>

.Type definitions for a classes <complextype name="carnivoretype" base="animaltype" derivedby="extension" content="mixed"> <element name="eats" minoccurs="0"> <complextype base="eatstype" derivedby="extension"> <element ref="animal" /> </complextype> </element> </complextype> <complextype name="herbivoretype" base="animaltype" derivedby="extension" content="mixed"> <element name="eats" minoccurs="0"> <complextype base="eatstype" derivedby="extension"> <element ref="plant-or-is-part-of(plant)" /> </complextype> </element> </complextype> <complextype name="giraffetype" base="herbivoretype" derivedby="restriction" content="mixed"> <element name="eats" minoccurs="0"> <complextype base="eatstype" derivedby="extension"> <element ref="leaf" /> </complextype> </element> </complextype>

Element definitions for classes and slots <element name="carnivore" type="carnivoretype"/> <element name="herbivore" type="herbivoretype"/> <element name="eats" type="eatstype"/> <element name="giraffe" type="giraffetype"/> <element name="leaf" type="leaftype"/>

Results for concepts

Results for Taxonomies

Results for Relations and Functions

Results for Axioms

Results for Instances

Comparison-Language to Language XML vs RDF. RDF is an application of XML. RDF has fixed set of primitives plus standard way to represent metadata while XML use results in different syntaxes. XMLs vs RDFs. RDFs allows basic definition of ontologies while XMLs does not, plus information on interpretation statements. XMLs prescribes order and combination of tags. XMLs vs OIL. Main common goal to provide vocabulary and structure for exchanging information sources. OIL much richer modeling primitives (slots + classes). XMLs richer built in data types and grammar for structuring the content of elements

Comparison-Language to Language RDFs vs OIL. RDFs can be used as representation format of OIL. OIL uses RDFs primitives. Valid OIL document is a valid RDFs document

Strength and Weakness RDF(s). Definition of mapping rules Weak reasoning capabilities only suitable for constraint checking Limited expressive power Many tools and examples available Support for different natural languages Community is active developing and improving OIL. Much richer expressive power than RDF(s) Good reasoning, atomic consistency checking, cross linking of relations and implied relations checking Support for different natural languages Vast amount of documentation, tools and examples available Good compatibility, design based on DL, FL and Web Standards (RDFs and XML)