Coastal Atlas Interoperability Ontologies Luis Bermudez



Yüklə 482 b.
tarix02.11.2017
ölçüsü482 b.
#27394


Coastal Atlas Interoperability - Ontologies

  • Luis Bermudez

  • Stephanie Watson

  • Marine Metadata Interoperability Initiative


Day 1



Preparation



Pre-paration (5 min)



Pre-paration (10 min)



CMAP

  • tool to create concept maps



TopBraidComposer (TBC)

  • TBC is a tool to develop Semantic Web ontologies and semantic applications in RDF

  • Walk through the help system and Ch 3. of the tutorial



Help in TopBraidComposer



Subversion (SVN)



Introduction to Subversion (SVN)

  • an open source version control system

  • allows users to keep track of changes made over time to any type of electronic data

  • typical uses are versioning source code, web pages or design documents



Check that SVN is Installed in TBC

  • Window Menu

  • Show View

  • Other



Should See the SVN Repository Folder



If not, install SVN plugin

  • Help Menu

  • Software Updates

  • Find and Install



  • Click on “…new features”

  • Check “subclipse update site” box

  • Click on “new remote site”



  • Type URL of the SVN plugin and follow instructions



Create Project from SVN Repository

  • Window Menu

  • Show View

  • Other



  • Select SVN Repository



  • A view titled “SVN Repository” should have appeared.

  • Right click and select:

    • New
    • Repository Location


Type the following URL: https://ont.googlecode.com/svn/trunk/ and click on Finish

  • Type the following URL: https://ont.googlecode.com/svn/trunk/ and click on Finish

  • User: mmidemo

  • Password: j6x4e4b8



  • Right click on “ont-coastal” folder

  • Choose Checkout

  • “Accept permanently”



  • Checkout and create a new project, for example, “ont-coastal

  • You should have a project with the ontologies available



SVN Operations



Overview

  • Goals

  • Introduction to Ontologies

  • Ontology Components and Practical Exercise

  • Advanced Ontology Concepts

    • Mappings
    • Restrictions and Description Logic
    • SPARQL and Rules
  • MMI Tools

  • Ontology Engineering

  • Interoperability Demonstration

  • Discussions



Overview

  • Goals

  • Introduction to Ontologies

  • Ontology Artifacts and Practical Exercise

  • Querying Ontologies with SPARQL

  • Advanced Ontology Concepts

  • SKOS, Thesauri, and VINE

  • Interoperability Demonstration

  • Discussions



Goals

  • Gain an understanding of controlled vocabularies (CVs) and ontologies

  • Hands on experience developing ontologies

  • Learn enough to write proposal to go further

  • Have fun



Introduction to Ontologies (20 min) Semantic Interoperability Problems



Interoperability



Diversity



Making Connections



Confusion



What happens if we are not semantically interoperable ?

      • We cannot find all the data that we are seeking.
        • p. 41 of Workshop 1 report: “Terminology used to describe similar data can vary between specialties or regions, which can complicate data searches and data integration.”
      • We get too many results and they are hard to classify.


Information Overload



Can’t find all the data



Semantic Interoperability Problem: Can’t find all the data



Information Overload



Semantic Interoperability Problem: Information Overload





Agreements on content help solve semantic interoperability problems. Ontologies could be a mechanism



Ontologies facilitate agreement on:

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain



Controlled Vocabularies (CVs) What are they?

  • a set of restricted words, used by an information community when describing resources or discovering data;

  • prevents misspellings and avoids the use of arbitrary, duplicative, or confusing words that cause inconsistencies when cataloging or searching data.

  • For example:

    • Glossary, dictionary
    • Classifications and categories
    • Relationship categories


Examples of CVs in Use SeaDataNet - http://www.seadatanet.org



Examples of CVs in Use: Consortium of Universities for the Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org





Examples of CVs in Use: OGC URN Resolver





It is not always possible to agree

  • It is not always possible to agree

  • on one and only one vocabulary



Introduction to Ontologies

  • In computer science -- an explicit and formal specification of mental abstractions, that conforms to a community agreement about a domain and design for a specific purpose (Gruber, 1993).

  • Representation, in a machine-readable language, of terms important to a domain of interest (e.g., coastal management). An ontology contains:

  • classes (concepts),

  • individuals (members of the classes), and

  • properties (relationships between individuals)



Ontologies facilitate agreement on:

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain





Interoperability





Ontologies facilitate agreement on:

  • controlled vocabularies

  • mappings

  • categories (is a type of mapping -:> )

  • knowledge of a domain





Example Oregon Atlas

  • Example Oregon Atlas



Ontologies facilitate agreement on:

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain





Ontologies Good for Expressing Formally:

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain



Formal RDF Resource Description Framework



RDF



RDF Simple Graph Model





URI



RDF Serialization

  • RDF/XML

  • Turtle

  • N3

  • N-Triple

  • ...



Ontologies .. good for expressing formally

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain



Ontology Web Language IOWL) (OWL)

  • RDF/XML is the syntax

  • is a representation language for ontologies

  • extends RDFS by allowing representation of more complex relationships and more precise constraints on classes and properties

  • uses URIs

  • is the “lingua franca” of the Semantic Web



BREAK !

  • Next: SeaDataNet use case (Roy Lowry)



SeaDataNet Ontology Use Case

  • Roy Lowry

  • British Oceanographic Data Centre



Summary

  • What is SeaDataNet?

  • Some SeaDataNet semantic issues

  • What has SeaDataNet done?

  • What is SeaDataNet going to do?

  • Is SeaDataNet relevant to CAI?



What is SeaDataNet?

  • SeaDataNet in a Nutshell

    • Combine over 40 oceanographic data centres across Europe into a single interoperable data system
    • Approach is to adopt established standards and technologies wherever possible
    • Two phases:
      • One brings 12 centres together with centralised metadata and distributed data as files. Due fully operational in autumn 2008 (beta next February)
      • Two introduces data virtualisation, aggregation, cutting and 30 more centres. Due in 2010
    • Project is well on its way up the interoperability operational implementation curve


SeaDataNet Semantic Issues

  • The major problem facing the project is heterogeneous legacy content

    • SeaDataNet inherited 3 independently-developed metadatabases
      • Each is heavily populated (3000-30000 records)
      • Each had its own independently developed controlled vocabularies
      • These vocabularies


Brief Diversion

  • Vocabularies can have two types of governance

    • Content governance
      • Mechanism for making decisions on vocabulary population
        • Expected deliverables include:
          • Vocabulary standards and internal consistency
          • Change on a timescale matching the needs of the user community
          • Terms with definitions!!!
    • Technical governance
      • Vocabulary storage, maintenance and serving
        • Expected deliverables include:
          • Convenient access to up to date vocabularies
          • Clear, rigorous vocabulary versioning
          • Version history through audit trails
          • Maintenance that doesn’t break user systems


SeaDataNet Semantic Issues

  • Vocabulary content governance

    • Done by individuals who were often inadequately qualified to do the job
    • Metadata entry form with an ‘Add to Vocabulary’ button used by students
  • Vocabulary technical governance

    • Scattered files on servers or inaccessible database tables
    • Multiple data models (e.g. some with abbreviations, some without)
    • No versioning
    • Vocabularies updated by destructive overwrites
  • Harmonisation required for related vocabularies

    • Within centralised metadata
    • Between partner local systems and centralised metadata


What has SeaDataNet Done?

    • Established content governance
      • Within SeaDataNet (TTT e-mail list)
      • Further afield (SeaVoX e-mail list)
    • Established technical governance
      • Adopted the NERC DataGrid Vocabulary Server
        • Heavily defended Oracle back end
        • Automated version and audit trail management
        • Web Service API front end plus clients e.g. http://vocab.ndg.nerc.ac.uk/client/vocabServer.jsp
        • Currently serving out 75 lists
    • Established a Mapping Infrastructure
      • List entries connected by SKOS RDF triples
      • Operational mappings between parameter vocabularies (GCMD science keywords, CF Standard Names)


What is SeaDataNet Going To Do?

  • Harmonise centralised metadata vocabularies or map if too hard

  • Map centralised vocabularies to partner system vocabularies

  • Build metadata crosswalks and generators (e.g. from CF) that include semantics (Use case 1)

  • Implement ‘Smart Discovery’ for legacy plaintext. E,g. search for pigment, find chlorophyll (Use case 2)

  • Establish URLs to represent vocabularies and individual entries delivering XML – probably SKOS – documents

  • Extend mapping efforts to other areas such as ‘devices’

  • Release a much improved Vocabulary Server API (mid-August)



Is SeaDataNet Relevant to CAI?

  • This workshop is about building a coastal atlas ontology that brings together semantic resources that say similar things in different ways

  • The vocabulary entry semantic content may be different from oceanographic parameters, but the problem is essentially the same

  • If it works for SeaDataNet it will probably work for the CAI community

  • More important – if it didn’t work for SeaDataNet then it probably won’t work for CAI



Is SeaDataNet Relevant to CAI?

  • What has worked for SeaDataNet:

    • The NERC DataGrid Vocabulary Server
    • Content governance through a MODERATED e-mail list (also works pretty well for CF Standard Names)
    • Representing vocabulary terms by URNs in metadata documents
  • What I believe will work in the next 12 months:

    • Semantic interoperability through mappings
    • The conceptual framework of RDF in general and SKOS in particular
    • 21st Century tooling


Is SeaDataNet Relevant to CAI?

  • What hasn’t worked for SeaDataNet:

    • Weak content governance
      • Examples
        • Terms without definitions
        • Vocabularies without strict entity definitions populated by mixed entities e.g.
          • helicopter = class
          • RRS Discovery = instance
        • Vocabularies without managed deprecation
    • Poor technical governance
      • Example
        • A vocabulary served by:
          • Dynamic web page from database
          • Static HTML page
          • ASCII file as e-mail attachment
          • Each having a different number of entries….


That’s All Folks!

  • Thank you for your attention

  • Any questions?

  • Morals

  • Always provide definitions for your terms

  • If you are going to use vocabularies to build an ontology make sure that they are properly governed



Welcome back

  • Recap

  • Define an ontology

  • Play with concepts

  • Details on components of ontologies



Ontologies .. good for expressing formally

  • controlled vocabularies

  • mappings

  • categories

  • knowledge of a domain



Ontologies basic definition

  • capturing the knowledge of a domain, including simple controlled vocabularies

  • expressing hierarchies of concepts

  • interrelating vocabularies via formal mappings



Components of an Ontology

  • Classes

  • Individuals

  • Properties

  • But first... what is a concept ?



What is a Concept ? Graph of Concepts



Concept Maps



Warming up Graph of Concepts



Concept Maps (10 min)

  • Open CMAP tools

  • Create a concept map about what you would expect to find on a Recreational Atlas Web site



Concept Maps (5 min)

  • In the middle of the exercise - ask about the treatment of nouns and verbs



Classes

  • Classes define concepts in a domain

    • Nouns, boxes in previous exercise
  • Classes are organized in hierarchies:

    • Example: Habitat is super class of Wetland
  • Classes are sets that contain individuals



Individuals

  • Individuals represent real objects in the domain in which we are interested.

  • They are the members of a class.



Ontology Example



Classes - subclasses



Individuals



Properties

  • Properties are relationships (loosely, verbs) between two individuals.

    • lines in previous exercise
  • 2 types:

    • Object Properties link an individual to an individual
    • Datatype properties link an individual to a Literal (String, integer, etc..). Defined as XML Schema datatypes.


Object Properties



Domain and Range



Datatype Properties



Ontology Example



Viewing a Simple Ontology

  • View an example ontology containing the Elkhorn Slough National Estuarine Research Reserve and the Malheur National Wildlife Refuge



Open Ontology and Explore Classes

  • View Classes tab

    • Note icons on upper right
      • create subclass
      • create sibling class
      • delete class
      • menu triangle with different options including viewing the hierarchy as starting with class “thing”. This latter menu option is important, since this is not the default of TopBraid, but is a very useful way to view a class hierarchy.




Explore Classes

  • Double click on class “Wetland” (subclass of “GeographicFeature”) in wetlands.owl

    • view class form, note annotations and axioms; can drag and drop annotation properties onto the form
    • can create subclasses by clicking on the name of the (super) class in the view class diagram
    • see other classes and their relationships to (properties) this class
    • view class diagram
    • view instances tab, see list of instances of this class
    • view import tab (this is where the namespaces of imported ontologies would appear)
    • view domain tab
    • view SPARQL tab Queries on your class(es)


Create Your Own Classes



Explore Individuals

  • View instances tab

      • Note the icons in the upper right. You can create (choosing the class to which it will belong, first) or delete an instance, or use the instance menu to accomplish such tasks as exporting the instances to a spreadsheet.
  • Double click on the instance “ElkhornSloughNERR”

  • View the resource form (just above the instances tab).

  • Note the name of the instance annotations, properties (especially note that the property list for the instance will include any properties identified for the class of which that instance is a member)



Create Individuals



Properties

  • Properties are relationships (loosely, verbs) between two individuals.

    • lines in previous exercise
  • 2 types:

    • Object Properties link an individual to an individual
    • Datatype properties link an individual to a Literal (String, integer, etc..). Defined as XML Schema datatypes.


Explore Properties

  • Double click on the property “hasActivity”

    • View properties tab (on right)
      • Note icons for creating property, deleting property, menu triangle for creating specific types of properties (object, data type and annotation properties).
    • View properties form
      • Note that each property has a name, may have annotations, and may have axioms (e.g., domain, range)
        • think of domain as the class that has this property (e.g., “Wetland”) and range as the valid “value” for the property (e.g., “Activity”)
      • Note that each property can also be a(n):
        • Subproperty of (properties can be hierarchical)
        • Inverse of
        • at the bottom, you should also see what type of property it is (object, datatype)


Explore Properties

  • View properties form (continued)

      • Note menus on top right on the property form, that can:
        • add widget for property
        • show widgets for all properties with matching domains,
        • arrange widgets in 2 columns
        • also, an inverted triangle menu with lots of options
          • E.g., will find the property name on Google, Wikipedia
          • E.g., will find all the usages of the property in your workspace, etc.)


Create Properties



Exercise

  • (it should be ~ 2:00 PM by now)



Hands on exercise TBC



Exploring TBC (1:40 - 2:30)

  • Follow the guide: TBC Getting-Started-Guide

  • Let’s all create a simple ontology ... follow the screen instructions



Atlas Interoperability Exercise

  • For any interoperability endeavor the first thing that should happen is getting the requirements right !



Atlas Interoperability



Use Case and Proposed User Interface



Atlas OntWeb



Note...

  • Q: Where is the data coming from ?

  • A: Distributed sources, which are simulated by each ontology you are creating.

  • Very different from traditional databases.



Process



Create a simple ontology that captures topics of interest of persons

  • Use concepts from the CMAP exercise, if possible

  • Create at least:

    • 3 Classes (on any level)
    • 1 Object Property - define domain and range
    • 2 Datatypes Properties - define domain and range
    • 2 Individuals for class Person, and 4 for each of the other classes you create
    • Add properties and values to individuals. e.g. luis hasInterest YOGA
  • For example, include as topics recreational concepts that you would expect to find on an atlas

  • Have fun

  • If problems occur, use help system or TBC tutorial. If more problems occur, raise your hand



Make your person-topic ontology (XYZ) interoperable with the FOAF ontology



Interoperability



We will make your person-topic ontology (XYZ) interoperable with the FOAF ontology



Experts are now “Atlases”



Map with Person Upper Level Ontology (foaf.owl)











Discussion

  • Did you need to do any changes to your ontology ?

  • We are presenting values of instances in the web interface, but this is not always the case.



Discussion

  • You are a FOAF person because you created a statement that said that:

    • You foaf:topic_of_interest Topic
  • AND

    • foaf:topic_of_interest has domain foaf:person
  • Test it !

  • Make your person class not

  • a subclass of foaf:Person

  • Run the inference

  • engine



End Day 1

  • Person (local name) with HasName property – easier with semantically neutral key

  • American vs. British English? – HasLabel, HasLabel, HasLabel, or UKName, USName

  • Reminder: RDF Property is highest level, then OWL added new restrictions (ObjectProperty for individual-to-individual and DataProperty for linking integers, strings to individuals)

  • We need to create an upper ontology

  • Extract all your semantics into an ontology, build an upper ontology



Examples of CVs in Use: Consortium of Universities for the Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org



Day 2



Wednesday Advanced Fun



Recap from Yesterday

  • We had an introduction to ontologies

  • We had a hands on experience on linking “topics of interest” ontologies to an upper level ontology.



Overview

  • Goals

  • Introduction to Ontologies

  • Ontology Components and Practical Exercise

  • Advanced Ontology Concepts

    • Mappings
    • Restrictions and Description Logic
    • SPARQL and Rules
  • MMI Tools

  • Ontology Engineering

  • Interoperability Demonstration

  • Discussions



Mapping ala SKOS



SKOS

  • provides a standardized way of representing KOS, such as thesauri, classification schemes, and taxonomies

  • uses RDF

    • RDF vocabularies:
      • SKOS Core (for describing KOS)
      • SKOS Mapping (for mapping between concepts - broad, narrow, exact match)
      • SKOS Extensions


Mapping ala SKOS

  • import skos.owl

  • it defines 3 convenient properties to relate instances



Import the 2 atlas ontologies that were created by the 2 groups





  • Make relations between your aX.owl file and one of the atlas files

    • select one of your favorite topics in your aX.owl file and create an skos:relation (broad, narrow, exact match) to a topic from one of the atlases.
  • Need to add the skos:property in the Resource Form





Adding SKOS Property(ies) in Resource Form



  • Commit to SVN - check the web site to make sure your file is there

  • Meanwhile, atlas experts - make SKOS type mappings among the terms in your atlases



Categorization by properties or the world of restrictions or defining classes using Description Logics (DL)



Story...

  • Facts:

  • We are in 2010...

  • SuperAtlas is a super ontology for atlas features. It was signed in 2009 in Monterey by 103 web atlas representatives.

  • Each group is now an atlas and will have 4 SuperAtlas Features available in the next 20 minutes.



Steps

  • We will define categories as allowed in OWL-DL.

  • The definitions of the categories are based on the SuperAtlas Ontology, which is the common vocabulary.

  • We will run the inferencer, which will automatically categorize your instances.



SuperAtlas Ontology



Process

  • Import SuperAtlas Ontology

  • Create a class “PersonRecreationalFeature” which is a sub (or sub-sub) class of your:PersonConcept

  • make it subclass of superatlas:RecreationalFeature



Create features (e.g. places that could appear in an atlas)



Add Facts about Those Features:

  • Relative location

    • add values to isPartOf
    • add an existing region
  • Activities that can occur

    • add an Activity
    • create/add new instance


You should have 4 instances similar to these:

  • You should have 4 instances similar to these:



Defining Classes using Description Logics

  • Defining Classes using Description Logics



Defining a Class in OWL DL

  • Example: Define EuropeanRegion

    • = All regions that are part of Europe.
    • More formally:


Equivalent Restrictions



Subclass Restrictions



Restriction Keywords



Restriction Keywords (cont.)



Complex Expressions



Restrictions Exercise



BREAK 10:30-10:45



SPARQL AND RULES



SPARQL

  • Query language for RDF (similar to SQL)

  • Think - triple triple triple



SPARQL Examples

  • PREFIX table: <http://www.daml.org/2003/01/periodictable/PeriodicTable#>

  • SELECT ?name ?symbol ?number ?color

  • FROM <http://www.daml.org/2003/01/periodictable/PeriodicTable.owl>

  • WHERE

  • {

  • ?element table:name ?name.

  • ?element table:symbol ?symbol.

  • ?element table:atomicNumber ?number.

  • OPTIONAL { ?element table:color ?color. }

  • }



Examples

  • Find all the subclasses of superatlas:Feature



Create your own queries

  • ...



Using Rules

  • OWL is limited in expressiveness.

    • can’t combine properties (e.g., uncle is a composition of brother and parent)
    • can’t use computed values or arithmetic comparisons (e.g., stating that a teenager is a person with age between 13 and 19)
  • Semantic Web Rule Language (SWRL)

    • combines OWL and RuleML
    • proposed to standardize the expression of rules in OWL
  • Open ontology and view rules



Rules

  • Rule is simple: If A then B or A -> B

  • Semantic Web Rule Language (SWRL)

  • swrl:body -> swrl:head

  • or

  • using JENA rules - very similar syntax



Create Rules

  • ensure your ontology imports these namespaces:

    • http://www.daml.org/rules/proposal/swrlb.owl
    • http://www.daml.org/rules/proposal/swrl.owl
  • SWRL rules are instances of swrl:Imp and can be created by:

    • Select swrl:Imp, edit body and head. e.g., to formalize the rule that says...
      • (?a hasChild ?c) for swrl:body
      • Parent (?a) for swrl: head


Rules Exercise

  • Import jena.owl



Configure Inferencing



Example

  • Create a rule to infer all american sports

  • Create a class under WebCategories and add a jena:Rule property (drag it)

    • e.g. AmericanSports


MMI Tools

  • VOC2OWL

    • to convert CVs into a common language, OWL
  • VINE

    • to map between CVs/ontologies represented in OWL
  • SEMOR

    • matches your search term to terms from other controlled vocabularies to find data and information








Engineering Lifecycle



What we did ....

  • Controlled Vocabularies

    • your topics
    • web portal controlled vocabulary
  • Mappings

    • among your topics and the FOAF one
    • among atlas and upper atlas ontology
  • Categories

    • Infer hierarchies
  • Knowledge of a Domain

    • Formal definition of classes
    • Rules expression
  • MMI Tools

  • Ontology Engineering



Slides acknowledgments

  • Robert Laurini INSA –Lyon

  • http://lisi.insa-lyon.fr/~laurini

  • TopBraid tutorial



Yüklə 482 b.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin