19
Lightweight Semantic Annotation of Geospatial 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 Date: 02/06/2011 Project: EV Presented by Boris Villazón-Terrazas ESWC 2011 Heraklion, Greece

Eswc lsagrsv9-boris-110602060147-phpapp02

Embed Size (px)

DESCRIPTION

ESWC presentation

Citation preview

Page 1: Eswc lsagrsv9-boris-110602060147-phpapp02

Lightweight SemanticAnnotation of GeospatialAnnotation of Geospatial

RESTful Services

Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho

Facultad de Informática, Universidad Politécnica de MadridCampus de Montegancedo s/n, 28660 Boadilla del Monte, Madrid

http://www.oeg-upm.net{vsaquicela,lmvilches,ocorcho}@fi.upm.esPhone: 34.91.3366605, Fax: 34.91.3524819

Date: 02/06/2011Project: EVPresented by Boris Villazón-Terrazas ESWC 2011

Heraklion, Greece

Page 2: Eswc lsagrsv9-boris-110602060147-phpapp02

ToC

• Introduction & motivation

• Related work

• Semantic annotation of RESTful services

• A sample set of RESTful services

• Syntactic descriptiony p

• Semantic annotation

• Checking the semantic annotation of RESTful services• Checking the semantic annotation of RESTful services

• Experimental results

• Conclusions and future work

2

Page 3: Eswc lsagrsv9-boris-110602060147-phpapp02

Introduction and motivation

RESTfulService YRESTful

Service XService Y

RESTfulService Z

RESTfulS i WService W …

Description in HTML that contains:• a list of the available operations

RESTfulService W

• a list of the available operations• URIs and parameters• expected output• error messages• set of examples of execution

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

Page 4: Eswc lsagrsv9-boris-110602060147-phpapp02

Introduction

• Description in HTML page

4

Page 5: Eswc lsagrsv9-boris-110602060147-phpapp02

Related work

• SyntacticH i ht WSDL• Heavyweight: WSDL

• Lightweight: WADL, hREST

• Semantic• Heavyweight: OWL-S, WSMOy g

• Lightweight: SA-REST, MicroWSMO

• ToolsSWEET• SWEET

• WSMO editor

5

Page 6: Eswc lsagrsv9-boris-110602060147-phpapp02

Our approachS ti t ti f RESTf l i bSemantic annotation of RESTful services by

(1) Obtaining and formalising their syntactic descriptions(2) Interpreting, and semantically enriching their parameters

Our approach uses diverse types of resourcesOur approach uses diverse types of resources• cross-domain ontology, DBpedia (combined with GeoNames)• Suggestion services• Synonym services

Syntactic description

Repository

Semanticannotation

6

Syntactic description

Page 7: Eswc lsagrsv9-boris-110602060147-phpapp02

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 tf l / t/ / h? k 4t8BF LDt C dS&l ti M d id• http://api.eventful.com/rest/venues/search?app_key=p4t8BFcLDt CzpxdS&location=Madrid Service 1 Service 2

<geonames><country>

<venue id="V0-001-000154997-6"><url>http://eventful.com/madrid/venues/la-ancha-/V0-001-000154997-6</url>y

<countryCode>ES</countryCode><countryName>Spain</countryName><isoNumeric>724</isoNumeric><isoAlpha3>ESP</isoAlpha3><fipsCode>SP</fipsCode>

<country_name>Spain</country_name><name>La Ancha</name><venue_name>La Ancha</venue_name><description></description><venue_type>Restaurant</venue_type><address></address><fipsCode>SP</fipsCode>

<continent>EU</continent><capital>Madrid</capital><areaInSqKm>504782.0</areaInSqKm><population>40491000</population>

C d EUR / C d

<address></address><city_name>Madrid</city_name><region_name></region_name><region_abbr></region_abbr><postal_code></postal_code><country_abbr2>ES</country_abbr2>

<currencyCode>EUR</currencyCode><languages>es-ES,ca,gl,eu</languages><geonameId>2510769</geonameId><bBoxWest>-18.169641494751</bBoxWest

<bBoxNorth>43.791725</bBoxNorth>

<country_abbr>ESP</country_abbr><longitude>-3.68333</longitude><latitude>40.4</latitude><geocode_type>City Based GeoCodes</geocode_type><owner>frankg</owner>

<bBoxEast>4.3153896</bBoxEast><bBoxSouth>27.6388</bBoxSouth>

</country></geonames>

owner frankg /owner<timezone></timezone><created></created><event_count>0</event_count><trackback_count>0</trackback_count><comment_count>0</comment_count><li k t>0</li k t>

7

<link_count>0</link_count><image></image>

</venue><venue id="V0-001-000154998-5">

Page 8: Eswc lsagrsv9-boris-110602060147-phpapp02

Syntactic description: Invocation and registration

• User adds the URL of a service in our system

• System invokes the RESTful service with some sample yparameters, 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,areaInSqKm,languages,isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,currencyCode bBoxEast capital geonameId countryName)ncyCode,bBoxEast,capital,geonameId,countryName)

• Service2. rest/venues/search($location,$app_key,id,link_count,page_count,longitude,trackback count,version,venue type,owner,url,country name,event count,trackback_count,version,venue_type,owner,url,country_name,event_count,total_items,city_name,address,name,latitude,page_number,postal_code,country_abbr,first_item,page_items,last_item,page_size,country_abbr2,comment_count,geocode_type,search_time,venue_name)

8

• Results are stored and WADL file is generated.

Page 9: Eswc lsagrsv9-boris-110602060147-phpapp02

Semantic annotation (I)• The starting point is the list of syntactic parameters

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

• If the system obtains correspondences from the matchingprocess it uses DBPedia concepts/properties to retrieveprocess, it uses DBPedia concepts/properties to retrievesamples (RDF instances).

• If there is no “matching”, we use external services• Spelling suggestion services• Synonym services

9

Page 10: Eswc lsagrsv9-boris-110602060147-phpapp02

Semantic annotation: exampleService1. countryInfo($country,bBoxSouth,isoNumeric,continent,fipsCode,areaInSqKm,languages,isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,currencyCode,bBoxEast,capital,geonameId countryName)geonameId,countryName)

10

Enriching the original parameters with external resources

Page 11: Eswc lsagrsv9-boris-110602060147-phpapp02

Semantic annotation: more examples

11

Page 12: Eswc lsagrsv9-boris-110602060147-phpapp02

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://www.w3.org/2003/01/geo/wgs84_pos#long,isoNumeric,http://dbpedia.org/ontology/Continent,fipsCode,http://dbpedia.org/property/areaMetroKm,languages,isoAlpha3,http://dbpedia.org/ontology/country,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/ontology/capital,geonameId,http://dbpedia.org/ontology/country)

12

Page 13: Eswc lsagrsv9-boris-110602060147-phpapp02

Checking the semantic annotation (Input)

• The system selects for each parameter a random subsetof the example instances.

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

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

Country

http://dbpedia.org/ontology/countryInstance1Instance2Instance3

http://dbpedia.org/ontology/locationCountryInstance1Instance2Instance3

13

Instance3.........

InstanceM

Instance3.........

InstanceM

Page 14: Eswc lsagrsv9-boris-110602060147-phpapp02

Checking the semantic annotation (Output)

• The system only takes into account executions withcorrect inputs.

• The system compares the outputs obtained afterexecution with the information already stored in theyrepository.

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

• Finally, the correspondences between the differentparameters of the service and DBpedia/Geonamesparameters of the service and DBpedia/Geonamesontology are registered and stored into the respository.

14

Page 15: Eswc lsagrsv9-boris-110602060147-phpapp02

Experimental results (I)

• 60 RESTful services selected from www.programmableweb.com (manually)

• 56 registered in the system• 56 registered in the system

• List of 369 different parameters, 52 input parameters and 342 output parameters, without duplications.

Attributes Total Additional parameters

Matches (DBpedia and GeoNames ontologies)

Initial parameters 369 - 191

Parameters + Suggestions 426 57 33

Parameters + Synonyms 1573 1147 126y y

Parameters + Suggestions + Synonyms 1573 1204 159

15

Page 16: Eswc lsagrsv9-boris-110602060147-phpapp02

Experimental results (II)

RESTfulService

Total parameters

Annotated parameters

Annotated parameters (DBpedia)

Annotated parameters (GeoNames)

Special parameters

Service validation( p ) ( )

Input parameters 152 78 33 45 73 56 4

OutputOutput parameters 862 315 202 113 299 -

Results of the input and output parameters

RESTful Service Found parameters

Not found parameters Annotated Not

annotatedRight

parameters Precision Recallparameters parameters annotated parameters

Output parameters 475 92 315 160 242 0.66 0.77

Output parameters metrics

16

Page 17: Eswc lsagrsv9-boris-110602060147-phpapp02

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• GUI that will ease the introduction of existing service by 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

Page 18: Eswc lsagrsv9-boris-110602060147-phpapp02
Page 19: Eswc lsagrsv9-boris-110602060147-phpapp02

Lightweight SemanticAnnotation of GeospatialAnnotation of Geospatial

RESTful Services

Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho

Facultad de Informática, Universidad Politécnica de MadridCampus de Montegancedo sn, 28660 Boadilla del Monte, Madrid

http://www.oeg-upm.net{vsaquicela,lmvilches,ocorcho}@fi.upm.esPhone: 34.91.3366605, Fax: 34.91.3524819

Date: 02/06/2011Project: EVPresented by Boris Villazón-Terrazas ESWC 2011

Heraklion, Greece