Lightweight Semantic Annotation of Geospatial RESTful Services

929 views
862 views

Published on

Lightweight Semantic Annotation of Geospatial RESTful Services

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
929
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lightweight Semantic Annotation of Geospatial RESTful Services

  1. 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 MadridCampus 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.3524819Presented by Boris Villazón-Terrazas ESWC 2011Project: EV Date: 02/06/2011 Heraklion, Greece
  2. 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. 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 operationsRESTful • URIs and parametersService W • expected output • error messages • set of examples of execution • 3274 of RESTful services (APIs) in programmableweb.com
  4. 4. Introduction• Description in HTML page 4
  5. 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. 6. Our approachSemantic annotation of RESTf l services bS ti t ti f RESTful i by (1) Obtaining and formalising their syntactic descriptions (2) Interpreting, and semantically enriching their parametersOur approach uses diverse types of resources • cross-domain ontology, DBpedia (combined with GeoNames) • Suggestion services • Synonym services Semantic annotation Repository Syntactic description 6
  7. 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. 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. 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. 10. Semantic annotation: exampleService1.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. 11. Semantic annotation: more examples 11
  12. 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://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
  13. 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. 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. 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. 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 RightRESTful Service Annotated Precision Recall parameters parameters annotated parameters Output 475 92 315 160 242 0.66 0.77 parameters Output parameters metrics 16
  17. 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. 18. Lightweight Semantic Annotation 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.es Phone: 34.91.3366605, Fax: 34.91.3524819Presented by Boris Villazón-Terrazas ESWC 2011Project: EV Date: 02/06/2011 Heraklion, Greece

×