SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Background          Collection             Storage and management   Retrieval




            Managing ontologies for modelling the
         physical and political structure of a university

                                 Sebastian Rahtz
Background                Collection         Storage and management       Retrieval



                                       Background


      Our problem is to come up with a framework in which to model
      the structure of the University, both political and physical.
             • what do we record?
             • how do we store it?
             • how do we allow retrieval from it?

      Remember, in what follows, that Oxford is unusual in having
      legal entities (the colleges) distinct from the University. Other
      institutions will have something similar.
Background                Collection          Storage and management      Retrieval



                                       Oxpoints I


      The first generation of our work, which we called Oxpoints:
             • Covered colleges and departments as general-purpose
              ‘units’
             • Modelled a hierarchical arrangement of buildings within
              units
             • Showed time-based data as an attribute of e.g. a college
             • Was managed as a large XML file mediated through a
              series of ad hoc XSLT transformations
             • Used the Text Encoding Initiative schema
Background                Collection          Storage and management          Retrieval



                       Problems with this approach


             • It did not cope with change over time (buildings change
              hands, departments migrate and amalgamate)
             • It did not allow for a building being used by several
              departments at once
             • It did not record any relationships between units; e.g. that
              a research group is part of a department, or that a rare
              books library is part of a bigger library
             • It was not easily extensible to other data types and
              relationships in the future (network access ducts? wireless
              access points? bicycle stands? trees?)
Background            Collection         Storage and management         Retrieval



                  Requirements for Oxpoints II


      Time based data A time dimension should be introduced to be
                 able to create historical maps.
      Rich Relationships It should be able to express many different
                   kind of relationships between entities in the
                   system.
      More Entities Besides colleges and buildings many more
                   entities should be added to the system (e.g. drain
                   covers).
      Extendable Since nobody could pin down where OxPoints was
                 to be going it should be as easy as possible to
                 extend the system in any way imaginable.
Background            Collection        Storage and management         Retrieval



                The underlying framework: RDF

      We conducted research for several months and finally decided
      to go with an RDF (a standard maintained by the W3C, meant
      to express relationships between entities) based solution.
      Time based data We have found a way to introduce a time
                 dimension using named graphs
      Rich Relationships RDF is meant to express rich
                   relationsships.
      More Entities RDF has no restrictions on the elements it talks
                   about. As long as you can make up a URI for the
                   element, you can use RDF to describe it.
      Extendable RDF is very generic and meant to be extended.
Background             Collection          Storage and management         Retrieval



                    The implementation: Gaboto
      Gaboto (http://gaboto.sf.net) is an open source generic
      RDF storage engine that allows for automatic mapping from
      RDF to Java objects and is able to cope with time in RDF. It
      was developed for Oxpoints, but is completely generic.
      Gaboto gives you RDF's flexibility of storing objects, their
      properties and relationships between objects while mapping
      these structures to first class Java objects.
      The mapping rules are all configured in an XML configuration
      file from which the necessary classes are automatically
      generated. So the basic steps in using Gaboto are:
        1. Write configuration file, define objects, their properties and
           relationships.
        2. Execute configuration script, that basically generates a jar
           file.
        3. Plug in the jar file and start writing your system.
Background                  Collection                Storage and management         Retrieval



                                 Ontology examples
      <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#"
        about="#associatedWith">
        <comment xmlns="http://www.w3.org/2000/01/rdf-schema#"
        >Defines that two entities are associated with one another (N:M)</comment>
      </ObjectProperty>
      <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#"
        about="#capacity">
        <comment xmlns="http://www.w3.org/2000/01/rdf-schema#"
        >The number of cars that can park</comment>
        <domain xmlns="http://www.w3.org/2000/01/rdf-schema#"
          resource="#Carpark"/>
      </ObjectProperty>
      <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#"
        about="#occupies">
        <comment xmlns="http://www.w3.org/2000/01/rdf-schema#"
        >Describes that a unit occupies a place</comment>
        <range xmlns="http://www.w3.org/2000/01/rdf-schema#"
          resource="#Place"/>
        <domain xmlns="http://www.w3.org/2000/01/rdf-schema#"
          resource="#Unit"/>
      </ObjectProperty>
      <Class xmlns="http://www.w3.org/2002/07/owl#"
        about="#Building">
        <subClassOf xmlns="http://www.w3.org/2000/01/rdf-schema#"
          resource="#Place"/>
      </Class>
      <Class xmlns="http://www.w3.org/2002/07/owl#"
        about="#College">
        <subClassOf xmlns="http://www.w3.org/2000/01/rdf-schema#"
          resource="#Unit"/>
      </Class>
Background                 Collection               Storage and management   Retrieval



             The configuration file (simplified sample)
      <GabotoEntity name="Unit" type="Unit">
        <properties>
          <property name="address" type="Address" uri="adr"/>
          <property name="homepage" type="Website" uri="hasHomepage"/>
          <property name="OUCSCode" type="String" uri="hasOUCSCode"/>
          <property name="itHomepage" type="Website" uri="hasITHomepage"/>
          <property name="name" type="String" uri="title"/>
          <property
              name="occupiedBuildings"
              type="Building"
              collection="bag"
              uri="occupies">
            <indirectProperty uri="hasLocation" n="2"/>
          </property>
          <property name="primaryPlace" type="Place" uri="primaryPlace">
            <indirectProperty name="location" uri="hasLocation" n="1"/>
          </property>
          <property name="subsetOf" type="Unit" uri="subsetOf">
            <indirectProperty uri="hasLocation" n="3"/>
            <unstoredProperty uri="parent"/>
          </property>
          <property name="weblearn" type="Website" uri="hasWeblearn"/>
          <passiveProperty
              name="hasSubsets"
              type="Unit"
              relationshipType="1:N"
              uri="subsetOf"/>
        </properties>
      </GabotoEntity>
Background                 Collection         Storage and management     Retrieval



    So we move to the second generation of Oxpoints



             • Still covers colleges, departments, libraries, museums, and
              carparks, but also anything else one may encounter
             • Models political units, physical buildings and a set of
              relationships between them
             • Is managed in an RDF database
             • Has an explicit RDF ontology, using external standards
              where appropriate (Dublin Core, GML, vCard)
             • Explicitly models time and changes
Background                  Collection   Storage and management   Retrieval



                       Types of objects in our system

             • Building
             • Division
             • DrainCover
             • Entrance
             • Faculty
             • Group
             • Image
             • Room
             • ServiceDepartment
             • Site
             • WAP
             • Website
Background                Collection       Storage and management   Retrieval



                   Types of relationship in our system
             • associatedWith
             • capacity
             • hasITHomepage
             • hasLocation
             • hasOBNCode
             • hasOLISCode
             • hasOUCSCode
             • hasPrimaryPlace
             • hasWeblearn
             • homepage
             • inImage
             • occupies
             • physicallyContainedWithin
             • subsetOf
Background                    Collection          Storage and management   Retrieval



                                           Collection

      We have collected information on about 1000 ‘political entities’:
             Library                                     743
             Unit                                        19
             College                                     45
             Department                                  186
             Museum                                      7


      along with
             Carpark                                             10
             building                                            277
             relationships                                       891
             coordinates of points                               283
Background                Collection         Storage and management      Retrieval



                     Where did this data come from?


             • Our central registration database provided the core
              structure of units, addresses etc
             • Library system provided the catalogue of library codes and
              names
             • Our own nosing around added web page links and photos
             • Coordinates were created about 50% from walking around
              with a GPS, 50% from reading off Google Earth
             • Our Estates Department provided a set of their building
              codes and informal building descriptions
Background                Collection         Storage and management         Retrieval



                         How are things identified?



             • Everything has a unique, stable Oxpoints ID (simply a
              number)
             • Registration codes are stored as properties of relevant
              objects
             • Library codes are stored as properties of relevant objects
             • Buildings have an optional property of their Estates code
             • Objects all have a type
Background               Collection            Storage and management   Retrieval



                        Storage and management



      An initializing Gaboto can read data from
             • Serialized RDF representation
             • A relational database backend for Jena
             • A TEI-encoded XML file

      The first of these is the backup format.
      Editing data is currently a manual task.
Background                Collection           Storage and management     Retrieval



                                       Future plans



      We intend to manage
             • A read-only Gaboto instance, reinitialized every day, to
              deliver lookup services
             • A read/write Gaboto instance linked to a relational
              database for managing changes and additions
             • A map-based interface for adding data
Background                 Collection           Storage and management       Retrieval



                                        Retrieval



      The main retrieval mechanism is via a web service which can:
             • Select objects by type, by internal ID, and by various codes
               (from registration, estates, libraries etc)
             • Follow relationships (eg from political entity to buildings
               which it occupies)
             • Sort by properties (typically dc:title)
             • Serialize the results in a variety of formats
Background            Collection        Storage and management    Retrieval



                            Supported formats


      We currently support
              xml Serialized RDF in XML.
              json Serialized as JSON for consumption by Javascript
                   etc (with optional callback function)
              kml Summary information in the KML format used by
                  Google Earth and Google Maps
             gjson The summary form used by KML, serialized as
                   JSON (with optional callback function)
      We also currently convert KML to any format supported by
      gpsbabel (support for many GPS and satnav devices)
Background             Collection             Storage and management   Retrieval



                                    Demonstration
        1. Oxford Colleges (using Google Maps):
             http://maps.google.co.uk/?q=http:
             //m.ox.ac.uk/oxpoints/colleges.kml
        2. Oxford Museums:
           http://m.ox.ac.uk/oxpoints/museums.kml
        3. Balliol College: http://maps.google.co.uk/?q=http:
           //m.ox.ac.uk/oxpoints/oucs/ball.kml&z=16
        4. Balliol College (RDF):
             http://m.ox.ac.uk/oxpoints/oucs/ball.xml
        5. Balliol College (JSON):
             http://m.ox.ac.uk/oxpoints/oucs/ball.json
        6. Balliol College: http://maps.google.co.uk/?q=http:
             //m.ox.ac.uk/oxpoints/oucs/ball.kml&z=16
        7. Balliol College (all buildings):
             http://maps.google.co.uk/?q=http:
             //m.ox.ac.uk/oxpoints/oucs/ball/occupies.kml
        8. All Souls College and Ashmolean Museum:
Background            Collection        Storage and management       Retrieval



                                   Arcana

        1. (using old Oxpoints) Map of Oxford in Google Earth
           showing colleges, and time line
             http://www.oucs.ox.ac.uk/oxpoints/colleges.kml
        2. Map of Oxford using Open Streetmap showing university
           departments
             http://www.oucs.ox.ac.uk/oxpoints/test9.html
        3. Map of Oxford showing running route, with background on
           old Ordnance Survey map. http://wheresthepath.
           googlepages.com/wheresthepath.htm; using GPX data;
           result is picture3.png
        4. Oxford University carparks, displayed on TomTom
             http://m.ox.ac.uk/oxpoints/Carpark.tomtom

Mais conteúdo relacionado

Semelhante a Managing Ontologies

Class 5-introto dl
Class 5-introto dlClass 5-introto dl
Class 5-introto dl
madhuvardhan
 
Class 5-introto dl
Class 5-introto dlClass 5-introto dl
Class 5-introto dl
madhuvardhan
 
Intro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-AthensIntro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-Athens
Stoitsis Giannis
 
Research Shared: researchobject.org
Research Shared: researchobject.orgResearch Shared: researchobject.org
Research Shared: researchobject.org
Norman Morrison
 

Semelhante a Managing Ontologies (20)

Duraspace Hot Topics Series 6: Metadata and Repository Services
Duraspace Hot Topics Series 6: Metadata and Repository ServicesDuraspace Hot Topics Series 6: Metadata and Repository Services
Duraspace Hot Topics Series 6: Metadata and Repository Services
 
LibreCat::Catmandu
LibreCat::CatmanduLibreCat::Catmandu
LibreCat::Catmandu
 
Class 5-introto dl
Class 5-introto dlClass 5-introto dl
Class 5-introto dl
 
Class 5-introto dl
Class 5-introto dlClass 5-introto dl
Class 5-introto dl
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
 
OER for repository managers
OER for repository managersOER for repository managers
OER for repository managers
 
Intro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-AthensIntro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-Athens
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)
 
Open Science Days 2014 - Becker - Repositories and Linked Data
Open Science Days 2014 - Becker - Repositories and Linked DataOpen Science Days 2014 - Becker - Repositories and Linked Data
Open Science Days 2014 - Becker - Repositories and Linked Data
 
FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout
 
Making Fedora easier to implement with Fez
Making Fedora easier to implement with FezMaking Fedora easier to implement with Fez
Making Fedora easier to implement with Fez
 
Elasticsearch { "Meetup" : "talk" }
Elasticsearch { "Meetup" : "talk" }Elasticsearch { "Meetup" : "talk" }
Elasticsearch { "Meetup" : "talk" }
 
DL-architecture.ppt
DL-architecture.pptDL-architecture.ppt
DL-architecture.ppt
 
10-15-13 “Metadata and Repository Services for Research Data Curation” Presen...
10-15-13 “Metadata and Repository Services for Research Data Curation” Presen...10-15-13 “Metadata and Repository Services for Research Data Curation” Presen...
10-15-13 “Metadata and Repository Services for Research Data Curation” Presen...
 
From ontology to wiki
From ontology to wikiFrom ontology to wiki
From ontology to wiki
 
ElasticSearch: Distributed Multitenant NoSQL Datastore and Search Engine
ElasticSearch: Distributed Multitenant NoSQL Datastore and Search EngineElasticSearch: Distributed Multitenant NoSQL Datastore and Search Engine
ElasticSearch: Distributed Multitenant NoSQL Datastore and Search Engine
 
Research Shared: researchobject.org
Research Shared: researchobject.orgResearch Shared: researchobject.org
Research Shared: researchobject.org
 
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
 
Hibernate tutorial
Hibernate tutorialHibernate tutorial
Hibernate tutorial
 
Libraries, OA research and OER: towards symbiosis?
Libraries, OA research and OER: towards symbiosis?Libraries, OA research and OER: towards symbiosis?
Libraries, OA research and OER: towards symbiosis?
 

Mais de IWMW

Mais de IWMW (20)

Look who's talking now
Look who's talking nowLook who's talking now
Look who's talking now
 
Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)
 
Web Tools report
Web Tools reportWeb Tools report
Web Tools report
 
Personal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The PanicPersonal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The Panic
 
Whose site is it anyway?
Whose site is it anyway?Whose site is it anyway?
Whose site is it anyway?
 
Open Source - the case against
Open Source - the case againstOpen Source - the case against
Open Source - the case against
 
IWMW 2002: Avoiding Portal Wars - an MIS view
IWMW 2002: Avoiding Portal Wars - an MIS viewIWMW 2002: Avoiding Portal Wars - an MIS view
IWMW 2002: Avoiding Portal Wars - an MIS view
 
What does open source mean for the institutional web manager?
What does open source mean for the institutional web manager?What does open source mean for the institutional web manager?
What does open source mean for the institutional web manager?
 
Library 2.0
Library 2.0Library 2.0
Library 2.0
 
Social participation in student recruitment
Social participation in student recruitmentSocial participation in student recruitment
Social participation in student recruitment
 
Supporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoSupporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: Manifesto
 
IWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlights
 
How to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web ServicesHow to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web Services
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Developing Communities of Practice
Developing Communities of PracticeDeveloping Communities of Practice
Developing Communities of Practice
 
How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down... How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down...
 
Grassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX RevolutionGrassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX Revolution
 
Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...
 

Último

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Último (20)

Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 

Managing Ontologies

  • 1. Background Collection Storage and management Retrieval Managing ontologies for modelling the physical and political structure of a university Sebastian Rahtz
  • 2. Background Collection Storage and management Retrieval Background Our problem is to come up with a framework in which to model the structure of the University, both political and physical. • what do we record? • how do we store it? • how do we allow retrieval from it? Remember, in what follows, that Oxford is unusual in having legal entities (the colleges) distinct from the University. Other institutions will have something similar.
  • 3. Background Collection Storage and management Retrieval Oxpoints I The first generation of our work, which we called Oxpoints: • Covered colleges and departments as general-purpose ‘units’ • Modelled a hierarchical arrangement of buildings within units • Showed time-based data as an attribute of e.g. a college • Was managed as a large XML file mediated through a series of ad hoc XSLT transformations • Used the Text Encoding Initiative schema
  • 4. Background Collection Storage and management Retrieval Problems with this approach • It did not cope with change over time (buildings change hands, departments migrate and amalgamate) • It did not allow for a building being used by several departments at once • It did not record any relationships between units; e.g. that a research group is part of a department, or that a rare books library is part of a bigger library • It was not easily extensible to other data types and relationships in the future (network access ducts? wireless access points? bicycle stands? trees?)
  • 5. Background Collection Storage and management Retrieval Requirements for Oxpoints II Time based data A time dimension should be introduced to be able to create historical maps. Rich Relationships It should be able to express many different kind of relationships between entities in the system. More Entities Besides colleges and buildings many more entities should be added to the system (e.g. drain covers). Extendable Since nobody could pin down where OxPoints was to be going it should be as easy as possible to extend the system in any way imaginable.
  • 6. Background Collection Storage and management Retrieval The underlying framework: RDF We conducted research for several months and finally decided to go with an RDF (a standard maintained by the W3C, meant to express relationships between entities) based solution. Time based data We have found a way to introduce a time dimension using named graphs Rich Relationships RDF is meant to express rich relationsships. More Entities RDF has no restrictions on the elements it talks about. As long as you can make up a URI for the element, you can use RDF to describe it. Extendable RDF is very generic and meant to be extended.
  • 7. Background Collection Storage and management Retrieval The implementation: Gaboto Gaboto (http://gaboto.sf.net) is an open source generic RDF storage engine that allows for automatic mapping from RDF to Java objects and is able to cope with time in RDF. It was developed for Oxpoints, but is completely generic. Gaboto gives you RDF's flexibility of storing objects, their properties and relationships between objects while mapping these structures to first class Java objects. The mapping rules are all configured in an XML configuration file from which the necessary classes are automatically generated. So the basic steps in using Gaboto are: 1. Write configuration file, define objects, their properties and relationships. 2. Execute configuration script, that basically generates a jar file. 3. Plug in the jar file and start writing your system.
  • 8. Background Collection Storage and management Retrieval Ontology examples <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#" about="#associatedWith"> <comment xmlns="http://www.w3.org/2000/01/rdf-schema#" >Defines that two entities are associated with one another (N:M)</comment> </ObjectProperty> <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#" about="#capacity"> <comment xmlns="http://www.w3.org/2000/01/rdf-schema#" >The number of cars that can park</comment> <domain xmlns="http://www.w3.org/2000/01/rdf-schema#" resource="#Carpark"/> </ObjectProperty> <ObjectProperty xmlns="http://www.w3.org/2002/07/owl#" about="#occupies"> <comment xmlns="http://www.w3.org/2000/01/rdf-schema#" >Describes that a unit occupies a place</comment> <range xmlns="http://www.w3.org/2000/01/rdf-schema#" resource="#Place"/> <domain xmlns="http://www.w3.org/2000/01/rdf-schema#" resource="#Unit"/> </ObjectProperty> <Class xmlns="http://www.w3.org/2002/07/owl#" about="#Building"> <subClassOf xmlns="http://www.w3.org/2000/01/rdf-schema#" resource="#Place"/> </Class> <Class xmlns="http://www.w3.org/2002/07/owl#" about="#College"> <subClassOf xmlns="http://www.w3.org/2000/01/rdf-schema#" resource="#Unit"/> </Class>
  • 9. Background Collection Storage and management Retrieval The configuration file (simplified sample) <GabotoEntity name="Unit" type="Unit"> <properties> <property name="address" type="Address" uri="adr"/> <property name="homepage" type="Website" uri="hasHomepage"/> <property name="OUCSCode" type="String" uri="hasOUCSCode"/> <property name="itHomepage" type="Website" uri="hasITHomepage"/> <property name="name" type="String" uri="title"/> <property name="occupiedBuildings" type="Building" collection="bag" uri="occupies"> <indirectProperty uri="hasLocation" n="2"/> </property> <property name="primaryPlace" type="Place" uri="primaryPlace"> <indirectProperty name="location" uri="hasLocation" n="1"/> </property> <property name="subsetOf" type="Unit" uri="subsetOf"> <indirectProperty uri="hasLocation" n="3"/> <unstoredProperty uri="parent"/> </property> <property name="weblearn" type="Website" uri="hasWeblearn"/> <passiveProperty name="hasSubsets" type="Unit" relationshipType="1:N" uri="subsetOf"/> </properties> </GabotoEntity>
  • 10. Background Collection Storage and management Retrieval So we move to the second generation of Oxpoints • Still covers colleges, departments, libraries, museums, and carparks, but also anything else one may encounter • Models political units, physical buildings and a set of relationships between them • Is managed in an RDF database • Has an explicit RDF ontology, using external standards where appropriate (Dublin Core, GML, vCard) • Explicitly models time and changes
  • 11. Background Collection Storage and management Retrieval Types of objects in our system • Building • Division • DrainCover • Entrance • Faculty • Group • Image • Room • ServiceDepartment • Site • WAP • Website
  • 12. Background Collection Storage and management Retrieval Types of relationship in our system • associatedWith • capacity • hasITHomepage • hasLocation • hasOBNCode • hasOLISCode • hasOUCSCode • hasPrimaryPlace • hasWeblearn • homepage • inImage • occupies • physicallyContainedWithin • subsetOf
  • 13. Background Collection Storage and management Retrieval Collection We have collected information on about 1000 ‘political entities’: Library 743 Unit 19 College 45 Department 186 Museum 7 along with Carpark 10 building 277 relationships 891 coordinates of points 283
  • 14. Background Collection Storage and management Retrieval Where did this data come from? • Our central registration database provided the core structure of units, addresses etc • Library system provided the catalogue of library codes and names • Our own nosing around added web page links and photos • Coordinates were created about 50% from walking around with a GPS, 50% from reading off Google Earth • Our Estates Department provided a set of their building codes and informal building descriptions
  • 15. Background Collection Storage and management Retrieval How are things identified? • Everything has a unique, stable Oxpoints ID (simply a number) • Registration codes are stored as properties of relevant objects • Library codes are stored as properties of relevant objects • Buildings have an optional property of their Estates code • Objects all have a type
  • 16. Background Collection Storage and management Retrieval Storage and management An initializing Gaboto can read data from • Serialized RDF representation • A relational database backend for Jena • A TEI-encoded XML file The first of these is the backup format. Editing data is currently a manual task.
  • 17. Background Collection Storage and management Retrieval Future plans We intend to manage • A read-only Gaboto instance, reinitialized every day, to deliver lookup services • A read/write Gaboto instance linked to a relational database for managing changes and additions • A map-based interface for adding data
  • 18. Background Collection Storage and management Retrieval Retrieval The main retrieval mechanism is via a web service which can: • Select objects by type, by internal ID, and by various codes (from registration, estates, libraries etc) • Follow relationships (eg from political entity to buildings which it occupies) • Sort by properties (typically dc:title) • Serialize the results in a variety of formats
  • 19. Background Collection Storage and management Retrieval Supported formats We currently support xml Serialized RDF in XML. json Serialized as JSON for consumption by Javascript etc (with optional callback function) kml Summary information in the KML format used by Google Earth and Google Maps gjson The summary form used by KML, serialized as JSON (with optional callback function) We also currently convert KML to any format supported by gpsbabel (support for many GPS and satnav devices)
  • 20. Background Collection Storage and management Retrieval Demonstration 1. Oxford Colleges (using Google Maps): http://maps.google.co.uk/?q=http: //m.ox.ac.uk/oxpoints/colleges.kml 2. Oxford Museums: http://m.ox.ac.uk/oxpoints/museums.kml 3. Balliol College: http://maps.google.co.uk/?q=http: //m.ox.ac.uk/oxpoints/oucs/ball.kml&z=16 4. Balliol College (RDF): http://m.ox.ac.uk/oxpoints/oucs/ball.xml 5. Balliol College (JSON): http://m.ox.ac.uk/oxpoints/oucs/ball.json 6. Balliol College: http://maps.google.co.uk/?q=http: //m.ox.ac.uk/oxpoints/oucs/ball.kml&z=16 7. Balliol College (all buildings): http://maps.google.co.uk/?q=http: //m.ox.ac.uk/oxpoints/oucs/ball/occupies.kml 8. All Souls College and Ashmolean Museum:
  • 21. Background Collection Storage and management Retrieval Arcana 1. (using old Oxpoints) Map of Oxford in Google Earth showing colleges, and time line http://www.oucs.ox.ac.uk/oxpoints/colleges.kml 2. Map of Oxford using Open Streetmap showing university departments http://www.oucs.ox.ac.uk/oxpoints/test9.html 3. Map of Oxford showing running route, with background on old Ordnance Survey map. http://wheresthepath. googlepages.com/wheresthepath.htm; using GPX data; result is picture3.png 4. Oxford University carparks, displayed on TomTom http://m.ox.ac.uk/oxpoints/Carpark.tomtom