SlideShare a Scribd company logo
1 of 19
Download to read offline
Lightweight Semantic
          Annotation of Geospatial
             RESTful Services
 Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho

  Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo s/n, 28660 Boadilla del Monte, Madrid
                   http://www.oeg-upm.net
        {vsaquicela,lmvilches,ocorcho}@fi.upm.es
         Phone: 34.91.3366605, Fax: 34.91.3524819


Presented by Boris Villazón-Terrazas            ESWC 2011
Project: EV                                     Date: 02/06/2011
                                                Heraklion, Greece
ToC

• Introduction & motivation
• Related work
• Semantic annotation of RESTful services
   • A sample set of RESTful services
   • Syntactic description
      y              p
   • Semantic annotation

• Checking the semantic annotation of RESTful services
  Checking the semantic annotation of RESTful
• Experimental results
• Conclusions and future work



                                  2
Introduction and motivation


                                                                       RESTful
                                                           RESTful     Service Y
                                                                                   RESTful
                                                           Service X
                                                                                   Service Z


                                                                 RESTful
                                                                 Service
                                                                 S i W      …
              Description in HTML that contains:
            • a list of the available operations
RESTful     • URIs and parameters
Service W   • expected output
            • error messages
            • set of examples of execution

       •    3274 of RESTful services (APIs) in programmableweb.com
Introduction

•   Description in HTML page




                               4
Related work

• Syntactic
   • H
     Heavyweight: WSDL
            i ht
   • Lightweight: WADL, hREST

• Semantic
   • Heavyweight: OWL-S, WSMO
         y   g
   • Lightweight: SA-REST, MicroWSMO


• Tools
   • SWEET
   • WSMO editor



                            5
Our approach
Semantic annotation of RESTf l services b
S      ti    t ti    f RESTful     i    by
     (1) Obtaining and formalising their syntactic descriptions
     (2) Interpreting, and semantically enriching their parameters
Our approach uses diverse types of resources
     •    cross-domain ontology, DBpedia (combined with GeoNames)
     •    Suggestion services
     •    Synonym services




                                                                        Semantic
                                                                        annotation
                                       Repository

      Syntactic description



                                              6
A sample set of RESTful services
•   Service 1. retrieves information related to a country.
     • http://ws.geonames.org/countryInfo?country=ES
•   Service 2. retrieves information about places (venues).
     • htt // i
        http://api.eventful.com/rest/venues/search?app_key=p4t8BFcLDt C
                       tf l    / t/         /      h?      k 4t8BF LDt CzpxdS&location=Madrid
                                                                           dS&l   ti   M d id
                          Service 1                                               Service 2

                                                     <venue id="V0-001-000154997-6">
       <geonames>                                       <url>http://eventful.com/madrid/venues/la-
          <country>
                  y                                     ancha-/V0-001-000154997-6</url>
             <countryCode>ES</countryCode>              <country_name>Spain</country_name>
             <countryName>Spain</countryName>           <name>La Ancha</name>
                                                        <venue_name>La Ancha</venue_name>
             <isoNumeric>724</isoNumeric>               <description></description>
             <isoAlpha3>ESP</isoAlpha3>                 <venue_type>Restaurant</venue_type>
             <fipsCode>SP</fipsCode>                    <address></address>
             <continent>EU</continent>                  <city_name>Madrid</city_name>
             <capital>Madrid</capital>                  <region_name></region_name>
                                                        <region_abbr></region_abbr>
             <areaInSqKm>504782.0</areaInSqKm>          <postal_code></postal_code>
             <population>40491000</population>          <country_abbr2>ES</country_abbr2>
             <currencyCode>EUR</currencyCode>
                      C d EUR /            C d          <country_abbr>ESP</country_abbr>
             <languages>es-ES,ca,gl,eu</languages>      <longitude>-3.68333</longitude>
             <geonameId>2510769</geonameId>             <latitude>40.4</latitude>
                                                        <geocode_type>City Based GeoCodes
             <bBoxWest>-18.169641494751</bBoxWest       </geocode_type>
            <bBoxNorth>43.791725</bBoxNorth>            <owner>frankg</owner>
                                                          owner frankg /owner
            <bBoxEast>4.3153896</bBoxEast>              <timezone></timezone>
            <bBoxSouth>27.6388</bBoxSouth>              <created></created>
          </country>                                    <event_count>0</event_count>
                                                        <trackback_count>0</trackback_count>
       </geonames>                                      <comment_count>0</comment_count>
                                                        <link_count>0</link_count>
                                                        <li k       t>0</li k     t>
                                                        <image></image>
                                                     </venue>
                                                     <venue id="V0-001-000154998-5">
                                                 7
Syntactic description: Invocation and registration
• User adds the URL of a service in our system
• System invokes the RESTful service with some sample
   y
  parameters, by using SDO API
• System analyzes the response (XML) to obtain a syntactic
  description of the parameters
• Results
   •   Service1.
       countryInfo($country,bBoxSouth,isoNumeric,continent,fipsCode,areaInSqK
       m,languages,isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,curre
       ncyCode,bBoxEast,capital,geonameId,countryName)
       ncyCode bBoxEast capital geonameId countryName)
   •   Service2.
       rest/venues/search($location,$app_key,id,link_count,page_count,longitude,t
       rackback_count,version,venue_type,owner,url,country_name,event_count,t
       rackback count,version,venue type,owner,url,country name,event count,t
       otal_items,city_name,address,name,latitude,page_number,postal_code,cou
       ntry_abbr,first_item,page_items,last_item,page_size,country_abbr2,comme
       nt_count,geocode_type,search_time,venue_name)

• Results are stored and WADL file is generated.
                                        8
Semantic annotation (I)
• The starting point is the list of syntactic parameters

• Th system retrieves all th classes/properties f
  The   t       ti     ll the l     /      ti from
  DBpedia ontology whose names have a match with each
  p
  parameter of the RESTFul Service.
   • Exact match
   • Similarity measures: Jaro, Jaro Winkler, and Levenshtein


• If the system obtains correspondences from the matching
  process,
  process it uses DBPedia concepts/properties to retrieve
  samples (RDF instances).

• If there is no “matching”, we use external services
   • Spelling suggestion services
   • Synonym services
                                9
Semantic annotation: example
Service1.
countryInfo($country,bBoxSouth,isoNumeric,continent,fipsCode,areaInSqKm,languages,
isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,currencyCode,bBoxEast,capital,
geonameId,countryName)
geonameId countryName)




    Enriching the original parameters with external resources
                                           10
Semantic annotation: more examples




      11
Result

          Service1 (i1, i2, o1, o2, o3, o4, o5, o6, o7)




Service 1
(http://dbpedia.org/ontology/Country,http,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http://ww
w.w3.org/2003/01/geo/wgs84_pos#long,isoNumeric,http://dbpedia.org/ontology/Continent,fipsCod
e,http://dbpedia.org/property/areaMetroKm,languages,isoAlpha3,http://dbpedia.org/ontology/countr
y,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http://www.w3.org/2003/01/geo/wgs84_pos#long,
http://dbpedia.org/ontology/populationDensity,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http://
www.w3.org/2003/01/geo/wgs84_pos#long,http://dbpedia.org/ontology/Currency,http://www.w3.org
/2003/01/geo/wgs84_pos#lat,http://www.w3.org/2003/01/geo/wgs84_pos#long,http://dbpedia.org/on
tology/capital,geonameId,http://dbpedia.org/ontology/country)




                                             12
Checking the semantic annotation (Input)
• The system selects for each parameter a random subset
  of the example instances.

• It makes several invocations of the service, by iterating
  over the registered values.
             g

• If the service return results from the invocation -> the
  service is considered as executable; non-executable if it
  cannot invoked succesfully.
                                    Country




  http://dbpedia.org/ontology/country         http://dbpedia.org/ontology/locationCountry
               Instance1                                        Instance1
               Instance2                                        Instance2
               Instance3                                        Instance3
                  .........                                       .........
               InstanceM                                       InstanceM

                                                                                            13
Checking the semantic annotation (Output)
• The system only takes into account executions with
  correct inputs.

• The system compares the outputs obtained after
  execution with the information already stored in the
                                       y
  repository.

• If the output can be matched, the system considers the
  output annotations as valid.

• Finally, the correspondences between the different
  parameters of the service and DBpedia/Geonames
  ontology are registered and stored into the respository.



                                                             14
Experimental results (I)

•   60 RESTful services selected from www.programmableweb.com (manually)
•   56 registered in the system
•   List of 369 different parameters, 52 input parameters and 342 output parameters,
    without duplications.


                                                                  Additional   Matches (DBpedia and
                                   Attributes            Total
                                                                 parameters    GeoNames ontologies)



              Initial parameters                         369          -                191


              Parameters + Suggestions                   426          57                33


              Parameters + Synonyms
                            y   y                        1573        1147              126


              Parameters + Suggestions + Synonyms        1573        1204              159




                                                    15
Experimental results (II)

                                                 Annotated         Annotated
        RESTful         Total     Annotated                                          Special       Service
                                                parameters        parameters
        Service     parameters   parameters                                       parameters     validation
                                                ( p
                                                (DBpedia))       (
                                                                 (GeoNames) )

         Input
                        152          78             33                45              73        56          4
      parameters

         Output
                        862          315            202               113             299               -
      parameters


                    Results of the input and output parameters



                       Found          Not found                         Not           Right
RESTful Service                                      Annotated                                   Precision        Recall
                    parameters       parameters                      annotated     parameters


    Output
                        475                92             315               160         242           0.66         0.77
 parameters



                   Output parameters metrics



                                                          16
Conclusions and future work

•   We have proposed an approach to perform semantic annotation
    process of RESTful services, using ontologies (DBpedia and
    Geonames) and external resources (suggestions and synonyms).
•   Future work:
     •   GUI that will ease the introduction of existing service by users
                                                                    users.
     •   Improving the SPARQL queries
     •   More specific domain ontologies in the semantic process
     •   Standards generation such as hREST, SA-REST and MicroWSMO
     •   Integration with iServe.




                                                 17
Lightweight Semantic
          Annotation of Geospatial
             RESTful Services
 Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho

  Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid
                   http://www.oeg-upm.net
        {vsaquicela,lmvilches,ocorcho}@fi.upm.es
         Phone: 34.91.3366605, Fax: 34.91.3524819


Presented by Boris Villazón-Terrazas            ESWC 2011
Project: EV                                     Date: 02/06/2011
                                                Heraklion, Greece

More Related Content

Similar to Lightweight Semantic Annotation of Geospatial RESTful Services

Eswc lsagrsv9-boris-110602060147-phpapp02
Eswc lsagrsv9-boris-110602060147-phpapp02Eswc lsagrsv9-boris-110602060147-phpapp02
Eswc lsagrsv9-boris-110602060147-phpapp02Victor Saquicela
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
 
MongoDB Stich Overview
MongoDB Stich OverviewMongoDB Stich Overview
MongoDB Stich OverviewMongoDB
 
Python and the CERR Challenge Process
Python and the CERR Challenge ProcessPython and the CERR Challenge Process
Python and the CERR Challenge ProcessGeCo in the Rockies
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
 
Generating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPCGenerating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPCC4Media
 
BioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioCatalogue
 
Linked Statistical Data: does it actually pay off?
Linked Statistical Data: does it actually pay off?Linked Statistical Data: does it actually pay off?
Linked Statistical Data: does it actually pay off?Oscar Corcho
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements finalJohn Domingue
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
API-Entwicklung bei XING
API-Entwicklung bei XINGAPI-Entwicklung bei XING
API-Entwicklung bei XINGMark Schmidt
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBMongoDB
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web ServicesPat Cappelaere
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB
 

Similar to Lightweight Semantic Annotation of Geospatial RESTful Services (20)

Eswc lsagrsv9-boris-110602060147-phpapp02
Eswc lsagrsv9-boris-110602060147-phpapp02Eswc lsagrsv9-boris-110602060147-phpapp02
Eswc lsagrsv9-boris-110602060147-phpapp02
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
CARTO ENGINE
CARTO ENGINECARTO ENGINE
CARTO ENGINE
 
MongoDB Stich Overview
MongoDB Stich OverviewMongoDB Stich Overview
MongoDB Stich Overview
 
Python and the CERR Challenge Process
Python and the CERR Challenge ProcessPython and the CERR Challenge Process
Python and the CERR Challenge Process
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
Generating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPCGenerating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPC
 
BioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogue
 
Linked Statistical Data: does it actually pay off?
Linked Statistical Data: does it actually pay off?Linked Statistical Data: does it actually pay off?
Linked Statistical Data: does it actually pay off?
 
Exploring Relay land
Exploring Relay landExploring Relay land
Exploring Relay land
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements final
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Smart net
Smart netSmart net
Smart net
 
API-Entwicklung bei XING
API-Entwicklung bei XINGAPI-Entwicklung bei XING
API-Entwicklung bei XING
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web Services
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch Introduction
 

More from Boris Villazón-Terrazas

SEEMP - Semantic Aspects and Interoperability
SEEMP - Semantic Aspects and InteroperabilitySEEMP - Semantic Aspects and Interoperability
SEEMP - Semantic Aspects and InteroperabilityBoris Villazón-Terrazas
 
Linguistic resources enhanced with geospatial Information
Linguistic resources enhanced with geospatial InformationLinguistic resources enhanced with geospatial Information
Linguistic resources enhanced with geospatial InformationBoris Villazón-Terrazas
 
RDB2RDF, an overview of R2RML and Direct Mapping
RDB2RDF, an overview of R2RML and Direct MappingRDB2RDF, an overview of R2RML and Direct Mapping
RDB2RDF, an overview of R2RML and Direct MappingBoris Villazón-Terrazas
 
Map4rdf - Faceted Browser for Geospatial Datasets
Map4rdf - Faceted Browser for Geospatial DatasetsMap4rdf - Faceted Browser for Geospatial Datasets
Map4rdf - Faceted Browser for Geospatial DatasetsBoris Villazón-Terrazas
 
Methodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataMethodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataBoris Villazón-Terrazas
 
Linked Data Projects at OEG - Current Status
Linked Data Projects at OEG - Current StatusLinked Data Projects at OEG - Current Status
Linked Data Projects at OEG - Current StatusBoris Villazón-Terrazas
 
A Provenance-Aware Linked Data Application for Trip Management and Organization
A Provenance-Aware Linked Data Application for Trip Management and OrganizationA Provenance-Aware Linked Data Application for Trip Management and Organization
A Provenance-Aware Linked Data Application for Trip Management and OrganizationBoris Villazón-Terrazas
 
Methodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataMethodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataBoris Villazón-Terrazas
 
Linked Data Research Projects at Ontology Engineering Group
Linked Data Research Projects at Ontology Engineering GroupLinked Data Research Projects at Ontology Engineering Group
Linked Data Research Projects at Ontology Engineering GroupBoris Villazón-Terrazas
 
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...Boris Villazón-Terrazas
 
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use Case
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use CaseAn Approach to Publish Spatial Data on the Web: The GeoLinked Data Use Case
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use CaseBoris Villazón-Terrazas
 

More from Boris Villazón-Terrazas (17)

Yet another SPARQL 1.1 brief introduction
Yet another SPARQL 1.1 brief introductionYet another SPARQL 1.1 brief introduction
Yet another SPARQL 1.1 brief introduction
 
Ecuadorian Geospatial Linked Data
Ecuadorian Geospatial Linked Data Ecuadorian Geospatial Linked Data
Ecuadorian Geospatial Linked Data
 
SEEMP - Semantic Aspects and Interoperability
SEEMP - Semantic Aspects and InteroperabilitySEEMP - Semantic Aspects and Interoperability
SEEMP - Semantic Aspects and Interoperability
 
Data Shapes and Data Transformations
Data Shapes and Data TransformationsData Shapes and Data Transformations
Data Shapes and Data Transformations
 
Linguistic resources enhanced with geospatial Information
Linguistic resources enhanced with geospatial InformationLinguistic resources enhanced with geospatial Information
Linguistic resources enhanced with geospatial Information
 
RDB2RDF, an overview of R2RML and Direct Mapping
RDB2RDF, an overview of R2RML and Direct MappingRDB2RDF, an overview of R2RML and Direct Mapping
RDB2RDF, an overview of R2RML and Direct Mapping
 
Map4rdf - Faceted Browser for Geospatial Datasets
Map4rdf - Faceted Browser for Geospatial DatasetsMap4rdf - Faceted Browser for Geospatial Datasets
Map4rdf - Faceted Browser for Geospatial Datasets
 
Methodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataMethodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked Data
 
Linked Data Projects at OEG - Current Status
Linked Data Projects at OEG - Current StatusLinked Data Projects at OEG - Current Status
Linked Data Projects at OEG - Current Status
 
A Provenance-Aware Linked Data Application for Trip Management and Organization
A Provenance-Aware Linked Data Application for Trip Management and OrganizationA Provenance-Aware Linked Data Application for Trip Management and Organization
A Provenance-Aware Linked Data Application for Trip Management and Organization
 
Methodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked DataMethodological Guidelines for Publishing Linked Data
Methodological Guidelines for Publishing Linked Data
 
Linked Data Research Projects at Ontology Engineering Group
Linked Data Research Projects at Ontology Engineering GroupLinked Data Research Projects at Ontology Engineering Group
Linked Data Research Projects at Ontology Engineering Group
 
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...
 
Sitemap4rdf(v2 boris)
Sitemap4rdf(v2 boris)Sitemap4rdf(v2 boris)
Sitemap4rdf(v2 boris)
 
Geometry2rdf(v2 boris)
Geometry2rdf(v2 boris)Geometry2rdf(v2 boris)
Geometry2rdf(v2 boris)
 
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use Case
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use CaseAn Approach to Publish Spatial Data on the Web: The GeoLinked Data Use Case
An Approach to Publish Spatial Data on the Web: The GeoLinked Data Use Case
 
Geo linked data lstd10(v2-boris)
Geo linked data lstd10(v2-boris)Geo linked data lstd10(v2-boris)
Geo linked data lstd10(v2-boris)
 

Lightweight Semantic Annotation of Geospatial RESTful Services

  • 1. Lightweight Semantic Annotation of Geospatial RESTful Services Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid Campus de Montegancedo s/n, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net {vsaquicela,lmvilches,ocorcho}@fi.upm.es Phone: 34.91.3366605, Fax: 34.91.3524819 Presented by Boris Villazón-Terrazas ESWC 2011 Project: EV Date: 02/06/2011 Heraklion, Greece
  • 2. ToC • Introduction & motivation • Related work • Semantic annotation of RESTful services • A sample set of RESTful services • Syntactic description y p • Semantic annotation • Checking the semantic annotation of RESTful services Checking the semantic annotation of RESTful • Experimental results • Conclusions and future work 2
  • 3. Introduction and motivation RESTful RESTful Service Y RESTful Service X Service Z RESTful Service S i W … Description in HTML that contains: • a list of the available operations RESTful • URIs and parameters Service W • expected output • error messages • set of examples of execution • 3274 of RESTful services (APIs) in programmableweb.com
  • 4. Introduction • Description in HTML page 4
  • 5. Related work • Syntactic • H Heavyweight: WSDL i ht • Lightweight: WADL, hREST • Semantic • Heavyweight: OWL-S, WSMO y g • Lightweight: SA-REST, MicroWSMO • Tools • SWEET • WSMO editor 5
  • 6. Our approach Semantic annotation of RESTf l services b S ti t ti f RESTful i by (1) Obtaining and formalising their syntactic descriptions (2) Interpreting, and semantically enriching their parameters Our approach uses diverse types of resources • cross-domain ontology, DBpedia (combined with GeoNames) • Suggestion services • Synonym services Semantic annotation Repository Syntactic description 6
  • 7. A sample set of RESTful services • Service 1. retrieves information related to a country. • http://ws.geonames.org/countryInfo?country=ES • Service 2. retrieves information about places (venues). • htt // i http://api.eventful.com/rest/venues/search?app_key=p4t8BFcLDt C tf l / t/ / h? k 4t8BF LDt CzpxdS&location=Madrid dS&l ti M d id Service 1 Service 2 <venue id="V0-001-000154997-6"> <geonames> <url>http://eventful.com/madrid/venues/la- <country> y ancha-/V0-001-000154997-6</url> <countryCode>ES</countryCode> <country_name>Spain</country_name> <countryName>Spain</countryName> <name>La Ancha</name> <venue_name>La Ancha</venue_name> <isoNumeric>724</isoNumeric> <description></description> <isoAlpha3>ESP</isoAlpha3> <venue_type>Restaurant</venue_type> <fipsCode>SP</fipsCode> <address></address> <continent>EU</continent> <city_name>Madrid</city_name> <capital>Madrid</capital> <region_name></region_name> <region_abbr></region_abbr> <areaInSqKm>504782.0</areaInSqKm> <postal_code></postal_code> <population>40491000</population> <country_abbr2>ES</country_abbr2> <currencyCode>EUR</currencyCode> C d EUR / C d <country_abbr>ESP</country_abbr> <languages>es-ES,ca,gl,eu</languages> <longitude>-3.68333</longitude> <geonameId>2510769</geonameId> <latitude>40.4</latitude> <geocode_type>City Based GeoCodes <bBoxWest>-18.169641494751</bBoxWest </geocode_type> <bBoxNorth>43.791725</bBoxNorth> <owner>frankg</owner> owner frankg /owner <bBoxEast>4.3153896</bBoxEast> <timezone></timezone> <bBoxSouth>27.6388</bBoxSouth> <created></created> </country> <event_count>0</event_count> <trackback_count>0</trackback_count> </geonames> <comment_count>0</comment_count> <link_count>0</link_count> <li k t>0</li k t> <image></image> </venue> <venue id="V0-001-000154998-5"> 7
  • 8. Syntactic description: Invocation and registration • User adds the URL of a service in our system • System invokes the RESTful service with some sample y parameters, by using SDO API • System analyzes the response (XML) to obtain a syntactic description of the parameters • Results • Service1. countryInfo($country,bBoxSouth,isoNumeric,continent,fipsCode,areaInSqK m,languages,isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,curre ncyCode,bBoxEast,capital,geonameId,countryName) ncyCode bBoxEast capital geonameId countryName) • Service2. rest/venues/search($location,$app_key,id,link_count,page_count,longitude,t rackback_count,version,venue_type,owner,url,country_name,event_count,t rackback count,version,venue type,owner,url,country name,event count,t otal_items,city_name,address,name,latitude,page_number,postal_code,cou ntry_abbr,first_item,page_items,last_item,page_size,country_abbr2,comme nt_count,geocode_type,search_time,venue_name) • Results are stored and WADL file is generated. 8
  • 9. Semantic annotation (I) • The starting point is the list of syntactic parameters • Th system retrieves all th classes/properties f The t ti ll the l / ti from DBpedia ontology whose names have a match with each p parameter of the RESTFul Service. • Exact match • Similarity measures: Jaro, Jaro Winkler, and Levenshtein • If the system obtains correspondences from the matching process, process it uses DBPedia concepts/properties to retrieve samples (RDF instances). • If there is no “matching”, we use external services • Spelling suggestion services • Synonym services 9
  • 12. Result Service1 (i1, i2, o1, o2, o3, o4, o5, o6, o7) Service 1 (http://dbpedia.org/ontology/Country,http,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http://ww w.w3.org/2003/01/geo/wgs84_pos#long,isoNumeric,http://dbpedia.org/ontology/Continent,fipsCod e,http://dbpedia.org/property/areaMetroKm,languages,isoAlpha3,http://dbpedia.org/ontology/countr y,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http://www.w3.org/2003/01/geo/wgs84_pos#long, http://dbpedia.org/ontology/populationDensity,http://www.w3.org/2003/01/geo/wgs84_pos#lat,http:// www.w3.org/2003/01/geo/wgs84_pos#long,http://dbpedia.org/ontology/Currency,http://www.w3.org /2003/01/geo/wgs84_pos#lat,http://www.w3.org/2003/01/geo/wgs84_pos#long,http://dbpedia.org/on tology/capital,geonameId,http://dbpedia.org/ontology/country) 12
  • 13. Checking the semantic annotation (Input) • The system selects for each parameter a random subset of the example instances. • It makes several invocations of the service, by iterating over the registered values. g • If the service return results from the invocation -> the service is considered as executable; non-executable if it cannot invoked succesfully. Country http://dbpedia.org/ontology/country http://dbpedia.org/ontology/locationCountry Instance1 Instance1 Instance2 Instance2 Instance3 Instance3 ......... ......... InstanceM InstanceM 13
  • 14. Checking the semantic annotation (Output) • The system only takes into account executions with correct inputs. • The system compares the outputs obtained after execution with the information already stored in the y repository. • If the output can be matched, the system considers the output annotations as valid. • Finally, the correspondences between the different parameters of the service and DBpedia/Geonames ontology are registered and stored into the respository. 14
  • 15. Experimental results (I) • 60 RESTful services selected from www.programmableweb.com (manually) • 56 registered in the system • List of 369 different parameters, 52 input parameters and 342 output parameters, without duplications. Additional Matches (DBpedia and Attributes Total parameters GeoNames ontologies) Initial parameters 369 - 191 Parameters + Suggestions 426 57 33 Parameters + Synonyms y y 1573 1147 126 Parameters + Suggestions + Synonyms 1573 1204 159 15
  • 16. Experimental results (II) Annotated Annotated RESTful Total Annotated Special Service parameters parameters Service parameters parameters parameters validation ( p (DBpedia)) ( (GeoNames) ) Input 152 78 33 45 73 56 4 parameters Output 862 315 202 113 299 - parameters Results of the input and output parameters Found Not found Not Right RESTful Service Annotated Precision Recall parameters parameters annotated parameters Output 475 92 315 160 242 0.66 0.77 parameters Output parameters metrics 16
  • 17. Conclusions and future work • We have proposed an approach to perform semantic annotation process of RESTful services, using ontologies (DBpedia and Geonames) and external resources (suggestions and synonyms). • Future work: • GUI that will ease the introduction of existing service by users users. • Improving the SPARQL queries • More specific domain ontologies in the semantic process • Standards generation such as hREST, SA-REST and MicroWSMO • Integration with iServe. 17
  • 18.
  • 19. Lightweight Semantic Annotation of Geospatial RESTful Services Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net {vsaquicela,lmvilches,ocorcho}@fi.upm.es Phone: 34.91.3366605, Fax: 34.91.3524819 Presented by Boris Villazón-Terrazas ESWC 2011 Project: EV Date: 02/06/2011 Heraklion, Greece