1 / 193

CoFfTeA seminarie

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

camden
Télécharger la présentation

CoFfTeA seminarie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CoFfTeA seminarie Maandag 24 november 2003 CoFfTeA seminarie

  2. 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

  3. Agenda (2) • Koffie • Demonstratie • Discussie • Drink CoFfTeA seminarie

  4. Inleiding CoFfTeA CoFfTeA seminarie

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Achtergrond Raamwerk, ontologie en webgebaseerde datarepresentatietalen CoFfTeA seminarie

  12. 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

  13. Raamwerk CoFfTeA seminarie

  14. 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

  15. 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

  16. 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

  17. 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

  18. Require-ments Require-ments solutions generic solutions Problem Domain, Application and Framework Application Framework Problem Domain CoFfTeA seminarie

  19. 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

  20. Ontologie CoFfTeA seminarie

  21. CoFfTeA seminarie Pieter Brueghel, de oude: de toren van Babel (1563)

  22. 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

  23. 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

  24. Aristotle's categories CoFfTeA seminarie

  25. Tree of Porphyry CoFfTeA seminarie

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Communication between people CoFfTeA seminarie

  32. Purpose (Inter-operability) L1 L2 L1 L2 T1 T2 interlingua T3 T4 L4 L3 L3 L4 CoFfTeA seminarie

  33. 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

  34. 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

  35. Purpose (4) COMMUNICATION Between people & organisations INTER-OPERABILITY between systems Reusable components Reliability Specification SYSTEMS ENGINEERING CoFfTeA seminarie

  36. 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

  37. Subject matter Most common categories: • Domain ontology (medicine, geology, finance,…) • Task, method or problem solving ontology • Representation or meta-ontology CoFfTeA seminarie

  38. 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

  39. 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

  40. 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

  41. Webgebaseerde datarepresentatietalen CoFfTeA seminarie

  42. 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

  43. 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

  44. Architecture of the SW CoFfTeA seminarie

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related