1.93k likes | 2.18k Views
CoFfTeA seminarie. Maandag 24 november 2003. Agenda (1). Welkom: Chris Van Keer (departementsbestuur) Inleiding: Patrick De Causmaecker Achtergrond: Peter Demeester Raamwerk Ontologie Webgebaseerde datarepresentatietalen Gebruikte tools: Peter Demeester & Nele Custers OilEd WordNet
E N D
CoFfTeA seminarie Maandag 24 november 2003 CoFfTeA seminarie
Agenda (1) • Welkom: Chris Van Keer (departementsbestuur) • Inleiding: Patrick De Causmaecker • Achtergrond: Peter Demeester • Raamwerk • Ontologie • Webgebaseerde datarepresentatietalen • Gebruikte tools: Peter Demeester & Nele Custers • OilEd • WordNet • JDom • Jena • D2RMap • OpenTS CoFfTeA seminarie
Agenda (2) • Koffie • Demonstratie • Discussie • Drink CoFfTeA seminarie
Inleiding CoFfTeA CoFfTeA seminarie
Goals • Offer software developers better insight in: • needs of planning practice • the opportunities of component based software development • How software can function with loosely connected components • A component model for timetabling CoFfTeA seminarie
Further expectations • Semantic Web Technology • Suggested by members of the user committee • Offers semantics, representation formats, connectivity, interoperability, logic, … • Can it support a development strategy? CoFfTeA seminarie
An example domain • Timetabling: • Group has experience • PATAT, Nurse Rostering, TITAN … • Links with the user committee • Planning, scheduling, rostering … • “Build a component framework for timetabling using concepts and tools taken from the semantic web context” CoFfTeA seminarie
Questions to answer or not • What is a framework? • How to build a framework? • What is timetabling? • How to incorporate users desires? • How to understand the user? • How to explain the results? CoFfTeA seminarie
Questions to answer • What does the semantic web to help? • What is ontology? • How can ontology speed up development? • How can existing tools be used? CoFfTeA seminarie
Realisations • We developed • An ontology for timetabling. • A mapping tool for timetabling applications using this ontology • A constraint editor that can use our numbering techniques developed elsewhere to allow the definition of constraints using the ontology and the results of the mapping • An application framework that is consistent with the ontology and that allows access to the OpenTS metaheuristics framework for optimisation of timetables. CoFfTeA seminarie
Achtergrond Raamwerk, ontologie en webgebaseerde datarepresentatietalen CoFfTeA seminarie
Framework Jena model Local search component OpenTS constraint component evaluation component Query model in RDQL and Jena API Constraints in XML, generated by the GSCG: Jena, JDom, OilEd source, .. XML D2R mapping file (semi)-automatic generation of the D2R mapping file JWNL, WordNet, ontology for timetabling, OilEd source, Jena, JDom,… Semantic mapping component school database CoFfTeA seminarie
Raamwerk CoFfTeA seminarie
Why Component Framework • Conventional software reuse • Copy & paste and OO class inheritance • Details about implementation are needed (-) • Reusable components • Provide software reuse • Implementation details are not needed (+) • Software development: • Software components as building blocks to develop applications • Software maintenance • interchangeable components • Easier, quicker, cheaper development and maintenance (+) CoFfTeA seminarie
What Is a Component Framework • One preferred definition A component framework is a collection of collaborating components designed for reuse in one or more problem domains • Component framework and class library • In OO context, a component framework is often a class library • But a component framework is more than a class library: target problem domain, between programming language toolkit and application CoFfTeA seminarie
Criteria for Good Components • Reusable content: generic • Well-encapsulated: black-box components are desired • Well-defined interfaces • What arguments need a method and what will be the result? • Ease of reuse: e.g. composable • Independently deployed CoFfTeA seminarie
Criteria for Good Component Frameworks • Good individual components: not sufficient • Good architecture: framework architecture affects the application architecture • Ease of learning and use • well-organised: layered, categorized • for framework developers: to handle complexity of framework • for framework users: easy to find what they need • consistency between components: • following conventions in implementation: how they expect and return info, handle errors, affect environment, and so on • naming strategy: • name of classes for domain entities: same as domain terms • name of method: reflecting function services (ex. Getters and setters methods) CoFfTeA seminarie
Require-ments Require-ments solutions generic solutions Problem Domain, Application and Framework Application Framework Problem Domain CoFfTeA seminarie
Component Models • Sun: J2EE • language-specific (Java) and platform-independent • Microsoft: .NET • Multi-language (but no support yet for Java) and platform-specific (Windows, not really…) CoFfTeA seminarie
Ontologie CoFfTeA seminarie
CoFfTeA seminarie Pieter Brueghel, de oude: de toren van Babel (1563)
What is an ontology? • An ontology defines a common vocabulary for researchers who need to share information in a domain. It includes machine-interpretable definitions of basic concepts in the domain and relations among them CoFfTeA seminarie
What is an ontology? • Ontology (following the Oxford English Dictionary): “the science or study of being” • In other words: Theory about the nature of existence, of what types of things exist • The term ontology was introduced by philosophy but AI and Web researchers have co-opted the term for their own jargon • Next examples come from John F Sowa: http://www.jfsowa.com/ontology/ontoshar.htm CoFfTeA seminarie
Aristotle's categories CoFfTeA seminarie
Tree of Porphyry CoFfTeA seminarie
What is an ontology? • No universally agreed meaning for the term • Possible definition [Uschold]: Conceptualisation: a world view; a way of thinking about a domain. “Set of informal rules that constrain the structure of a piece of reality”.Typically: expressed as a set of concepts (entities, attributes, processes), their definitions and their inter-relationships. • Implicit: in someone’s head • Explicit: this is called an ontology CoFfTeA seminarie
What is an ontology? Ontology is an explicit account or representation of some part of a conceptualisation • Variety of forms: necessarily it will include a vocabulary of terms and some specification of their meaning • Manifestation of a shared understanding of a domain that is agreed between a number of parties. CoFfTeA seminarie
Kinds of ontologies • Formality: degree of formality by which a vocabulary is created and meaning is specified • Purpose: intended uses of the ontology • Subject matter: nature of subject matter that the ontology is characterising CoFfTeA seminarie
Highly informal Structured informal semi-formal Highly formal Expressed in an artificial formally defined language Expressed loosely in natural language Expressed in a restricted, structured form of natural language Precise defined terms with formal semantics, theorems Formality CoFfTeA seminarie
ontology is used as an interchange format Purpose (1) • Communication between people: unambiguous (maybe informal) definition • Inter-operability among systems: achieved by translating between different • modelling methods • paradigms • languages • software tools CoFfTeA seminarie
Communication between people CoFfTeA seminarie
Purpose (Inter-operability) L1 L2 L1 L2 T1 T2 interlingua T3 T4 L4 L3 L3 L4 CoFfTeA seminarie
Purpose (2) • Systems engineering benefits: • Reusability: ontology = basis for formal encoding of entities, attributes, processes and their inter-relationships in the domain of interest. This may become a reusable/shared component • Knowledge acquisition: increase speed & reliability by using an existing ontology as basis for guiding knowledge acquisition CoFfTeA seminarie
Purpose (3) • Systems engineering benefits: • Reliability: formal representation makes possible the automation of consistency checking. • Specification: ontology can assist in the process of: • identifying requirements of the system • understanding the relationships among the components of the system • and provides a declarative specification of a software system CoFfTeA seminarie
Purpose (4) COMMUNICATION Between people & organisations INTER-OPERABILITY between systems Reusable components Reliability Specification SYSTEMS ENGINEERING CoFfTeA seminarie
Very generic ontologies: organising portions of human knowledge Designed for particular applications Genericity (related with purpose) • Extent to which an ontology can/is intended to be reused in a range of different situations: Upper-level models Application ontologies CoFfTeA seminarie
Subject matter Most common categories: • Domain ontology (medicine, geology, finance,…) • Task, method or problem solving ontology • Representation or meta-ontology CoFfTeA seminarie
What is in an ontology? • An ontology is a formal explicit description of: • concepts in a domain of discourse (classes), • properties of each concept describing various features, • attributes of the concepts (slots or roles or properties), • and restrictions on slots (facets or role restrictions) • An ontology together with a set of individual instances of classes constitutes a knowledge base. CoFfTeA seminarie
What is in an ontology? • Classes are the focus of most ontologies • Classes describes concepts in the domain • Ex: class of beers represents all beersspecific beers are instances of this class • A class can have subclasses that represent concepts that are more specific than the superclass • Ex: you can divide the class of all beers into: dark, yellow, amber,…Alternatively we can divide the class into pils, kriek, trappist,… CoFfTeA seminarie
What is in an ontology? • Slots describe properties of classes and instances: Kriek Lindemans is produced by the brewery Lindemans • In practical terms, developing an ontology includes: • Defining classes in the ontology • Arranging the classes in a taxonomic (subclass-superclass) hierarchy • Defining slots and describing allowed values for these slots • Filling in the values for slots for instances CoFfTeA seminarie
Webgebaseerde datarepresentatietalen CoFfTeA seminarie
Problem with ‘current’ web • Designed to improve the exchange of information between different people • Majority of data on the web today is that the form it is published in (HTML) is difficult to use on a large scale • Machines/software programs/agents have trouble processing this information • Need of languages that allow automatic interpretation of content CoFfTeA seminarie
What is the Semantic Web? • Goal of the SW: make info on the web machine-processable • Think of it as being an efficient way of representing data on the WWW (or as a globally linked database) • Semantic Web is invented by Tim Berners-Lee • On a XML conference (XML 2000) in December 2000 T B-L introduced an architecture for the Semantic Web CoFfTeA seminarie
Architecture of the SW CoFfTeA seminarie
First layer: URI • items on the web are identified through the use of identifiers • Since each item is considered a resource: identifiers are called Uniform Resource Identifiers • URI can be given to anything • Anything that has a URI can be said to be on the web • URI is the foundation of the web • Best known URI is the URL CoFfTeA seminarie
Second layer: XML • XML: acronym for eXtensible Markup Language • Pro: Users can create documents using their own structure and syntax. • XML allows to invent tags suitable for a particular problem • In HTML: number of tags is limited CoFfTeA seminarie
XML: an example <?xml version="1.0"?> <article> <title>Using web standards for timetabling</title> <author>Sep Ducamaercke</author> <author>Per Tedesem</author> <author>Venghed Banger</author> <affiliation>KaHo Sint-Lieven,Gent</affiliation> </article> CoFfTeA seminarie
The need of a schema language • The freedom of inventing tags can lead to confusion • Schemas determine how content should be formatted • XML Schema tells something about syntax • Pro: exchange syntactically valid XML documents between people, organisations,… CoFfTeA seminarie
Example of an XML Schema <?xml version="1.0""?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="article"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string" maxOccurs="unbounded"/> <xs:element name="affiliation" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> CoFfTeA seminarie
Third layer: RDF & RDF Schema • RDF is a means to make statements that are machine-processable • RDF: short for Resource Description Framework • Goal: add formal semantics to the web CoFfTeA seminarie