eswc lsagrsv9-boris-110602060147-phpapp02

Download Eswc lsagrsv9-boris-110602060147-phpapp02

Post on 18-Dec-2014

55 views

Category:

Education

0 download

Embed Size (px)

DESCRIPTION

ESWC presentation

TRANSCRIPT

  • 1. Lightweight Semantic Annotation of Geospatial RESTful Services Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho Facultad de Informtica, Universidad Politcnica 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 Villazn-Terrazas Project: EV ESWC 2011 Date: 02/06/2011 Heraklion, Greece
  • 2. ToC Introduction&motivation Relatedwork SemanticannotationofRESTful services AsamplesetofRESTful services Syntacticdescription y p Semanticannotation Checking the semantic annotation of RESTful services CheckingthesemanticannotationofRESTful Experimentalresults Conclusionsandfuturework 2
  • 3. Introduction and motivation RESTful Service X RESTful Service Y RESTful Service S i W RESTful Service W Description in HTML that contains: 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 RESTful Service Z
  • 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 y ESSpain724ESPSPEUMadrid504782.040491000EUR C d EUR / C d es-ES,ca,gl,eu2510769-18.16964149475143.7917254.315389627.6388 7 http://eventful.com/madrid/venues/laancha-/V0-001-000154997-6SpainLa AnchaLa AnchaRestaurant MadridESESP-3.6833340.4City Based GeoCodes frankg owner frankg /owner 0000
  • 0k t>
  • 8. Syntactic description: Invocation and registration User adds the URL of a service in our system y System invokes the RESTful service with some sample 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
  • 10. 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
  • 11. Semantic annotation: more examples 11
  • 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 Instance1 Instance2 Instance3 ......... InstanceM http://dbpedia.org/ontology/locationCountry Instance1 Instance2 Instance3 ......... 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. Attributes Total Additional parameters Matches (DBpedia and 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) RESTful Service Total parameters Annotated parameters Annotated parameters ( p (DBpedia) ) Annotated parameters ( (GeoNames) ) Special parameters Input parameters 152 78 33 45 73 Output parameters 862 315 202 113 299 Service validation 56 4 - Results of the input and output parameters RESTful Service Output parameters Found parameters 475 Not found parameters 92 Annotated 315 Output parameters metrics 16 Not annotated 160 Right parameters 242 Precision Recall 0.66 0.77
  • 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 specifi