An ontology language is a formal language used to encode the ontology. There are a number of such languages for ontologies, both proprietary and standards-based:Common Algebraic SpecificationCommon logic is ISO standard 24707, a specification for a family of ontology languages that can be accurately translated into each other.The Cyc project has its own ontology language called CycLDOGMA (Developing Ontology-Grounded Methods and ApplicationsGellishIDEF5 is a software engineeringKIF is a syntaxRule Interchange Format (RIF)OWL is a language for making ontological statements, developed as a follow-on from RDF and RDFS, as well as earlier ontology language projects including OIL, DAML, and DAML+OIL. OWL is intended to be used over the World Wide Web, and all its elements (classes, properties and individuals) are defined as RDF resources, and identified by URIs.Semantic Application Design Language (SADL)SBVR (Semantics of Business Vocabularies and Rules)OBO
A well defined syntax is a necessary condition for machine processing of information. Also it should be user friendly.Formal semantics defines precisely the meaning of knowledge. “Precisely” here means that the semantics does not refer to subjective intuitions, nor is it open to different interpretations by different persons (or machines)Semantics is a pre-requisite for reasoning support. Reasoning support is important because it allows one to - check the consistency of the ontology and the knowledge - check for unintended relationships between classes - automatically classify instances in classesAutomatic reasoning support allows one to check many more classes than what can be done manually. Checks like this are valuable for - designing large ontologies where multiple authors are involved - integrating and sharing ontologies from various resources
RDF stands for Resource Description FrameworkRDF is designed to be read and understood by computersRDF is not designed for being displayed to peopleRDF is written in XMLRDF is a part of the W3C's Semantic Web ActivityRDF is a W3C RecommendationRDF Schema and Application ClassesRDF describes resources with classes, properties, and values.In addition, RDF also needs a way to define application-specific classes and properties. Application-specific classes and properties must be defined using extensions to RDF.One such extension is RDF Schema.RDF Schema (RDFS)RDF Schema does not provide actual application-specific classes and properties.Instead RDF Schema provides the framework to describe application-specific classes and properties.Classes in RDF Schema are much like classes in object oriented programming languages. This allows resources to be defined as instances of classes, and subclasses of classes.
Local Scope of properties:Rdfs:range defines the range of a property, say eats for all classes. Thus in RDF Schema we cannot declare range restrictions that apply to some classes only. For example, we cannot say that cows eat only plants while other animals may eat meat too.Disjointness of classes:Sometimes we wish to say that classes are disjoint. For example, male and female are disjoint. But in RDF schema, we can only state sub class relationship. E.g.: female is a subclass of person.Boolean combinations of classes:Sometimes we wish to build new classes by combining other classes using union, intersection and complement. For example, we may wish to define the class person to be the disjoint union of the class male and female. RDF schema does not allow such definitions.Cardinality restrictions:Sometimes we wish to place restrictions on how many distinct values a property may or must take. For example, we would like to say that a person has exactly two parents, and that a course is taught by at least one lecturer. Again such restrictions are impossible to express in RDF Schema.Special characteristics of properties:Sometimes it is useful to say that a property is transitive (like “greater than”), unique (“is mother of”), or the inverse of another property, (like “eats” and “is eaten by”)So we need an ontology language that is richer than RDF Schema, a language that offers these features and more. In designing such a language one should be aware of the tradeoff between expressive power and efficiency reasoning support. Generally speaking, the richer the language is, the more inefficient the reasoning support becomes, often crossing the border of non-computability. Thus, we need a compromise, a language that can be supported by reasonably efficient reasoners, while being sufficiently expressive to express large classes of ontologies and knowledge.
Why OWL?OWL is a part of the "Semantic Web Vision" - a future where:-Web information has exact meaning-Web information can be processed by computers-Computers can integrate information from the web OWL was Designed for Processing InformationOWL was designed to provide a common way to process the content of web information (instead of displaying it).OWL was designed to be read by computer applications (instead of humans).OWL is Different from RDFOWL and RDF are much of the same thing, but OWL is a stronger language with greater machine interpretability than RDF.OWL comes with a larger vocabulary and stronger syntax than RDF.OWL is Written in XMLBy using XML, OWL information can easily be exchanged between different types of computers using different types of operating system and application languages.OWL is a Web StandardOWL became a W3C (World Wide Web Consortium) Recommendation in February 2004.A W3C Recommendation is understood by the industry and the web community as a web standard. A W3C Recommendation is a stable specification developed by a W3C Working Group and reviewed by the W3C Membership.
OWL Fullis meant for users who want and the syntactic freedom of RDF with no computational guarantees. For example, in OWL Full a class can be treated simultaneously as a collection of individuals and as an individual in its own right. Another significant difference from OWL DL is that a owl:DatatypeProperty can be marked as an owl:InverseFunctionalProperty. OWL Full allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary. It is unlikely that any reasoning software will be able to support every feature of OWL Full.
OWL DLsupports those users who want the maximum expressiveness without losing computational completeness (all entailments are guaranteed to be computed) and decidability (all computations will finish in finite time) of reasoning systems. OWL DL includes all OWL language constructs with restrictions such as type separation (a class can not also be an individual or property, a property can not also be an individual or class). OWL DL is so named due to its correspondence with description logics ,a field of research that has studied a particular decidable fragment of first order logic. OWL DL was designed to support the existing Description Logic business segment and has desirable computational properties for reasoning systems.
OWL Litesupports those users primarily needing a classification hierarchy and simple constraint features. For example, while OWL Lite supports cardinality constraints, it only permits cardinality values of 0 or 1. It should be simpler to provide tool support for OWL Lite than its more expressive relatives, and provide a quick migration path for thesauri and other taxonomies.
owl:TransitiveProperty defines a transitive property, such as “has better grade than”, “is taller than”, “is an ancestor of”, etcowl:SymmetricProperty defines a asymmetric property, such as “has same grade as”, “is a sibling of”, etc.owl:FunctionalProperty defines a property that has at most one unique value for each object, such as “height”, “age”, “direct supervisor”, etc.owl:InverseFunctionalProperty defines a property for which two different objects cannot have the same value, for example the property “isThePermanentAccountNumberFor” (a Permanent Account Number is assigned to one person only).
Strong semantics : Ontolgy
• Introduction Subhashis Das• Ontology language Sonali Kishore Kalani• Ontology Engineering Tools Amit Kumar Shaw• Application of Ontologies Mayukh Biswas• Conclusion Anurodh Kumar Sinha
Markup consists of: rendering information (e.g., font size and colour) Hyper-links to related contentSemantic content is accessibleto humans but not (easily) tocomputers…
• WWW2002• The elevenvh inveqnavional soqld side seb confeqence• Sheqavon saikiki hovel• Honoltlt, hasaii, USA• 7-11 may 2002• 1 locavion 5 dayu leaqn inveqacv• Regiuveqed paqvicipanvu coming fqom• atuvqalia, canada, chile denmaqk, fqance, geqmany, ghana, ho ng kong, india, iqeland, ivaly, japan, m alva, nes zealand, vhe nevheqlandu, noqsay, uingapoqe, usivzeql and, vhe tnived kingdom, vhe tnived uvaveu, vievnam, zaiqe• Regiuveq vh nos• On vhe 7 May Honoltlt sill pqovide vhe backdqop of vhe elevenvh inveqnavional soqld side seb confeqence. Thiu pqeuvigiotu evenv • Speakequ confiqmed• Tim beqnequ-lee• Tim iu vhe sell knosn invenvoq of vhe Web, • Ian Fouveq• Ian iu vhe pioneeq of vhe Gqid, vhe nev geneqavion inveqnev
• External agreement on meaning of annotations – E.g., Dublin Core • Agree on the meaning of a set of annotation tags – Problems with this approach • Inflexible • Limited number of things can be expressed• Use Ontologies to specify meaning of annotations – Ontologies provide a vocabulary of terms – New terms can be formed by combining existing ones – Meaning (semantics) of such terms is formally specified – Can also specify relationships between terms in multiple ontologies
-----By Thomas Robert (Tom) Gruber (1994)‘A formal, explicit specification of a shared conceptualization’must be machine not private to some individual,understandable but accepted by a group types of concepts and an abstract model of some constraints must be clearly phenomenon in the world formed by defined identifying the relevant concepts of that phenomenon
v To share common understanding of the structure of information among people or software agents.v To enable reuse of domain knowledge.v To make domain assumptions explicit.v To separate domain knowledge from the operational knowledge.v To analyze domain knowledge.
r Defining terms in the domain and relations among themv Identifying the domain.v Defining concepts in the domain (classes). (human, animal, food, table, movies, etc..)v Arranging the concepts in a hierarchy (superclass -Subclass hierarchy). (Ex- Animal -herbivorous -omnivorous -carnivorous)v Defining which attributes and properties classes can have and constraints on their values. Attributes (data properties), i.e. human has properties of gender, height, weight, father, mother, etc. Properties (Relations), i.e. Indian Statistical Institute is located in Bangalore. HERBIVORES= only eat vegetables for example elephants are herbivores CARNIVORES= only eat meat for example tigers are carnivores OMNIVORES= omnivores eat both meat and plants for example dogs are omnivoresv Defining individuals and filling in properties values.
The three major uses of Ontologies are:v To assist in communication between humans and computer.v To achieve interoperability and communication among software systems.v To improve the design and quality design and the quality of software system.
The term ‘procedure’ used by one tool is translated into the term ‘method ‘ used by the other via the ontology, whose term for the same underlyingprocedure concept is ‘process’. give me the procedure for…viewer here is the give me theprocedure for… translator procedure = ??? process for… procedure = process Ontology ??? = process give me the METHOD = translator METHOD process for… here is here is thethe process for… METHOD for… method library
• Ontologies generally describe:v Classes sets, collections, or types of objects (Ex-Person, animal, food, table, etc.)v Individuals the basic or “ground level” objects (Ex- Subhashis Das is an Individual of ClassPerson)v Relationships ways that objects can be related to one another (Subhashis Das lives in Kolkata )v Attributes properties, features, characteristics, or parameters that objects can have andshare ( Subhashis Das has properties of gender, height, weight, hair colour, mobile no, etc)
From a practical view, ontology is the representation of something we know about.“Ontologies" consist of a representation of things, that are detectable or directlyobservable, and the relationships between those things.
• Sir Ratan Naval Tata (born 28 December 1937) is an Indian businessman who became chairman (1991– ) of the Tata Group, a Mumbai-based conglomerate. He is a member of a prominent family of Indian industrialists and philanthropists (Tata family). Tata received the Padma Bhushan, one of India’s most distinguished civilian awards, in 2000 and Padma Vibhushan in 2008. He has also been ranked as Indias most powerful CEO. Ratan Tata was adopted to famous Tata , a prominent family belonging to the Parsi community. Ratan is the grandson of Tata group founder Jamsedji Tata. (http://en.wikipedia.org/wiki/Ratan_Tata) Relations: is-a, received, is-CEO-of, is_granson_of, Ratan Tata has Properties of Gender: male DOB: 28 Dec, 1937 Race: Parsi Administrative role: CEO of Tata group
Requirements for an ontology language• A well defined syntax• A well-defined semantics• Efficient reasoning support• Adequate expressive power• Convenience of expression
RDF/RDF Schema• Used for describing resources on web• Written in XML• W3C recommendation• RDF Schema is an extension of RDF• Provides the framework to describe application- specific classes and properties instead of actual application classes and properties• Similar to classes in OOP languages
Basic Building Blocks of RDF Schema• Classes and their instances• Binary properties between classes• Organization of classes and properties in hierarchies• Domain and range restrictions
Limitations of RDF Schema• Local Scope of properties• Disjointness of classes• Boolean combinations of classes• Cardinality restrictions• Special characteristics of properties
OWL, a Web Ontology Language• OWL stands for Web Ontology Language• OWL is for processing information on the web• Three sublanguages – OWL Full – OWL DL – OWL Lite• Build on top of – XML – RDFS• Similar to RDF but with much stronger syntax and larger vocabulary• OWL is a W3C standard
OWL Full• Maximum expressiveness• Fully upward compatible with RDF• OWL Full allows an ontology to enhance the meaning of the pre-defined (RDF or OWL) vocabulary• All language constructors can be used in any combination as long as it is legal RDF• Reasoning software are not able to support every feature of OWL Full
OWL DL• Based on Description Logic• Maximum expressiveness without losing completeness• Widely available reasoning systems• Constraints: – Vocabulary partitioning – Explicit typing – Property separation – No transitive cardinality restrictions – Restricted anonymous classes
OWL Lite• Must be an OWL DL ontology• The constructors owl:oneOf, owl:disjointWith, owl:union Of, owl:complementOF and owl:hasValue are not allowed• Cardinality statements can be made only on values 0 or 1.• owl:equivalentClass cannot be made between anonymous classes, but only between class identifiers
RDF OWL OWL OWLXML RDF Schema Lite DL Full Increasing Semantic Expressiveness
Building Blocks in OWL…[contd.]• Ontology declaration (XML syntax) <rdf:RDF xmlns:owl =http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">• Ontology metadata (information about the ontology) <owl:Ontology rdf:about=""> <rdfs:comment>An example OWL ontology</rdfs:comment> <owl:priorVersion rdf:resource="http://www.mydomain.org/uni-ns-old"/> <owl:imports rdf:resource="http://www.mydomain.org/persons"/> <rdfs:label>University Ontology</rdfs:label> </owl:Ontology>
Building Blocks in OWL• Classes – Every class is a descendant of owl:Thing – Classes are defined using owl:Class – Equivalence is defined using owl:equivalentClass• Subsumption – Provided by owl:subClassOf• Partitions – Disjoint partition owl:disjointWith – Exhaustive partition owl:oneOf
Building Blocks in OWL…[contd.]• Attributes (properties) – Datatype properties: Allows to describe a specific aspect of a concept • Based on XSD data types • The range specifies the data type • The domain specifies the class to which the property is referred – E.g.: Phone, title, age – Object properties: Attributes that define relationships between classes (Relations) • E.g.: isTaughtBy(Class(course), Class(professor))
Building Blocks in OWL…[contd.]• Relationships – Directed • From one concept to another, no vice versa – Defined through object properties • Domain: the class(es) from which the relation departs • Range: the relation destination(s) – Subsumption between relationships is possible
Building Blocks in OWL…[contd.]• Instances (Individuals) – No unique name assumption in OWL – If two instances have a different name or ID this does not imply that they are different individuals • E.g.: “Queen Elizabeth”, “The Queen” and “Elizabeth Windsor” might all refer to the same individual – It must be explicitly stated that individuals are the same as each other, or different to each other – Defined by means of rdf:Description + rdf:Type
Building Blocks in OWL…[contd.]• Advanced constructs – OWL supports several advanced constructs to define classes and relationships – Constraints defined on attribute values (either object or datatype properties)
Special Properties• owl:TransitiveProperty• owl:SymmetricProperty• owl:FunctionalProperty• owl:InverseFunctionalProperty
• The are many Ontology tools are available in the present times such as Protégé, OntoEdit, Ontolingua, OilEd, pOWL etc.• Protégé is a free, open-source platform to construct domain models and knowledge-based applications with ontologies.• It provide Graphical User Interface for development of RDF and OWL statement.
• Go http://protege.stanford.edu/download/registered.htmlto download Protégé• Protégé OWL editor is built with the full installation of Protégé platform. During the install process, choose the “Basic+OWL” option.• For more details: http://protege.stanford.edu/doc/owl/getting-started.html
Protégé• There are two main ways of modeling ontologies: – Frame-based – OWL• Each has its own user interface – Protégé Frames editor: enables users to build and populate ontologies that are frame-based, in accordance with OKBC (Open Knowledge Base Connectivity Protocol). – Protégé OWL editor: enables users to build ontology for the Semantic Web, in particular to OWL • Classes • Properties • Instances • Reasoning
Building an OWL OntologyCreate a new OWL project – Start protégé – A new empty Protégé-OWL project has been created. – Save it in your local file as pizza.owl
Named Classes• Go to OWL Classes tab• The empty class tree contains one class called owl:Thing, which is superclass of everything.• Create subclasses Pizza, PizzaTopping and PizzaBase. They are subclasses of owl:Thing.
Disjoint classesHow to say that Pizza, PizzaTopping and PizzaBase classes are disjoint.
OWL Properties• OWL Properties represent relationships between two objects.• There are two main properties: – Object properties: link object to object – datatype properties: link object to XML Schema datatype or rdf:literal• OWL has another property – Annotation properties, to be used to add annotation information to classes, individuals, OntoGraf etc.
Inverse Properties• Each object property may have a corresponding inverse property.• If some property links individual a to individual b, then its inverse property will link individual b to individual a.
Functional Properties• If a property is functional, for a given individual, there can only be at most one individual to be related via this property. – For a given domain, range must be unique• Functional properties are also known as single valued properties.
Inverse Functional Properties• If a property is inverse functional, then its inverse property is functional. – For a given range, domain must be unique.
Functional v/s Inverse Functional Properties• FunctionalProperty vs InverseFunctionalProperty domain range example Functional For a given Range is hasFather: A hasFather Property domain unique B, A hasFather C B=C InverseFunctional Domain is For a given hasID: A hasID B, C Property unique range hasID B A=C
Transitive Properties• If a property is transitive, and the property related individual a to individual b, and also individual b to individual c, then we can infer that individual a is related to individual c via property P.
Symmetric Properties• If a property P is symmetric, and the property relates individual a to individual b, then individual b is also related to individual a via property P.
Property: domains and ranges• Properties link individuals from the domain to individuals from the range• Let us see the live demo in Protégé Software
Ontology ApplicationThe topic can be discussed using two approaches:• Discussing the Ontology application domains• Discussing the Ontology integration in Applications (i.e. Context-aware Applications using Ontology)
Ontology Application Domains/ Key Areas• Information retrieval procedure• Knowledge representation/sharing• Semantic Digital Libraries• Software engineering• Natural-Language processing• Multi-agent systems
Information retrieval procedure• Agricultural Ontology Service (AOS) – The AOS/CS will serve as a multilingual repository of concepts in the agricultural domain providing ontological relationships and a rich, semantically sound terminology.• the purpose of the AOS is to achieve:• better indexing of resources,• better retrieval of resources, and• increased interaction within the agricultural community.
Information retrieval procedureThe Agricultural Ontology Service (AOS) (A Tool for Facilitating Access to Knowledge)Food and Agriculture Organization of the United Nations (FAO)Library and Documentation Systems Division, AGRIS/CARIS and Documentation GroupRome, Italy, June 2001, Draft 5a, September 2001
Agricultural Ontology Service Concept Server (AOS/CS)• Initially developed using relational database• Now new model is developed using Web Ontology Language (OWL)• The new developed model in OWL will serve as a skeleton for building agriculture domain ontologies.*Lauser , B., Sini, M., Liang, A., Keizer, J. and Katz, S., “From AGROVOC to the Agricultural Ontology Service / Concept Server. An OWLmodel for creating ontologies in the agricultural domain”, Networked Knowledge Organization Systems and Services, The 5th EuropeanNetworked Knowledge Organization Systems (NKOS) Workshop, Workshop at the 10th ECDL Conference, Alicante, Spain, September21, 2006.
Agricultural Ontology Service Concept Server (AOS/CS)• The multilingual issue (lexicalization) is handled using three levels of representations i.e. – Concepts (the abstract meaning), – Term ( language-specific lexical form) and – Term variant ( the range of forms that can occur for each term)• On the Bases on the above representation inter-level relations are defined i.e. – Concept to Term (has_lexicalization) – Term to String (has_acronym, has_spelling_variant, has_abbreviation) – Concept to Concept (is_a) – Term to Term (is_synonym_of, is_translation_of)
Agricultural Ontology Service Concept Server (AOS/CS) The Basic Model URI Disambiguation The Concept-to-Concept interface
Agricultural Ontology Service Concept Server (AOS/CS) Term-to-Term Interface Term-to-String Interface Classification Schemes e.g. University of Bekkeley has the following variants Model has the support of two l UCB, Cal, UC Berkeley, University of clasification schemes namely Calfornia at Berkeley AGRIS/CARIS and FAO priority areas l These relationships are modeled as l c_classification_scheme properties of the data type l r_belongs_to_scheme r_has_term_variant l r_has_category l r_has_sub_category
Semantic Digital Libraries*• To provide uniform access to Digital Libraries to deal with structural and semantic heterogeneities Three application areas of ontologies (referred JeromeDL and BRICKS semantic digital library projects) – Bibliographic Ontologies – Ontologies for Content Structures – Community-aware Ontologies*Kruk, R.S., Haslhofer, B., Piotrowski, Westerski, A. and Woroniecki, T. “The Role of Ontologies in Semantic Digital Libraries”, NetworkedKnowledge Organization Systems and Services, The 5th European Networked Knowledge Organization Systems (NKOS)Workshop, Workshop at the 10th ECDL Conference, Alicante, Spain, September 21, 2006.
Semantic Digital Libraries• Ontologies for Content Structures – By including structural concepts in ontologies, electronic contents can be retrieved.• Community-Aware Ontologies – In semantic digital libraries, besides storing contents and meta data, track of users, their interactions, and their knowledge can be incorporated into the systems using community-aware ontologies
Recent Developments Semantic Search Ontology Based Information Retrieval 1)Mental Model 2)User-Question Model 3)System Resource Model 4)System Query Model
Semantic Digital libraries 1.Ontologies can be used to: (i) organize bibliographic descriptions, (ii) represent and expose document contents, (iii) share knowledge amongst users
• Semantic Social Network Social Network + Semantic Web 1)Social Layer 2)Ontology Layer 3) Concept Layer
Use of Ontology in Linked Data The IRW ontology can be used as a tool to make Linked Data more self- describing and to allow inference to be used to test for membership in various classes of resources The IRW ontology this in turn allows the semantic validation, to be able to describe and infer in detail the types of resources that can be interacted with via HTTP, which is useful for both tools like EARL that record validation of Web standards to be implemented in a reliable fashion, which is useful for error- reporting on the Web in general and HTTP in particular IRW clarifies the interactions between the hypertext Web and Linked Data, allowing Linked Data spiders to keep track of important provenance regarding the identity of resources, and to characterise the resources correctly for semantic validation and error detection.
• Notion of consistency: The notion of consistency which is appropriate in this network of ontologies in order to meet the requirements of future real-life application needs to be analyze.• Evolution of ontologies and metadata: One has to investigate which kind of metadata are suitable for supporting the evolution of these network ontology.• Reasoning: A basic open issue is the development of reasoning mechanisms in the presence of inconsistencies between these networked ontology.
• Semi-automatic methods: Major obstacle to developing ontology-based application in commercial setting. Therefore, the tight coupling of manual methods with automatic methods is needed.• Design patterns: Analogous to the development of design patterns in software engineering of ontologies has to be improved by the development of pattern libraries that provide ontology engineers with well engineered and application proven ontology patterns that might be used on building block.• Economic aspects: In commercial settings, one needs well-grounded estimations for the effort one has to invest for building up the required ontologies in order to be able to analyses and justify that investment. Up to now, only very preliminary methods exist to cope with these economic aspect
Conclusion• Ontologies enable a sound reasoning framework for making machines to be contextual, discernable and relevant tool to produce semantic information retrieval results• Helps to reason and turn on the meaning in searching, i.e, thus add more relevance in searching information
References1. Amandeep S. Sidhu, Tharam S. Dillon,Fellow IEEE, Elizabeth Chang,MemberIEEE, Creating a Protein Ontology Resource2.David Vallet, Miriam Fernández, and Pablo Castells, A n Ontology-BasedInformation Retrieval Model3. Fran¸cois Bry, Tim Furche, Paula-Lavinia Patranjan, and Sebastian Schaffert,Data Retrieval and Evolution on the (Semantic) Web: A Deductive ApproachProtege Ontology Libraries http://protegewiki.stanford.edu/index.php/Protege_Ontology_LibraryProtege tutorial http://www.co-ode.org/resources/tutorials/Protege Website http://protege.stanford.edu/doc/users.html http://protege.stanford.edu/
4.Guoqian Jiang, Katsuhiko Ogasawara, Naoki Nishimoto, Akira Endoh, TsunetaroSakurai, FCAView Tab: A Concept-oriented View Generation Tool forClinical Data Using Formal Concept Analysis5.G. Marcos, H. Eskudero, C. Lamsfus , M.T. Linaza, Data Retrieval From aCultural Knowledge Database6. Jacob Köhler and Steffen Schulze-Kremer, The Semantic Metadatabase(SEMEDA): Ontology based integration of federated molecular biologicaldata sources7. Jeff Heflin and James Hendler, Searching the Web with SHOE