Lightweight Semantic Annotation of Geospatial RESTful Services

Post on 11-May-2015

756 views 0 download

Tags:

description

Lightweight Semantic Annotation of Geospatial RESTful Services

Transcript of Lightweight Semantic Annotation of Geospatial RESTful Services

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

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

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

Introduction

• Description in HTML page

4

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

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

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

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.

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

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

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://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

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

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

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

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

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

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