260 likes | 375 Views
The Experience of Realizing a Semantic Web Urban Computing Application http://wiki.larkc.eu/UrbanComputing/. Emanuele Della Valle Irene Celino Daniele Dell’Aglio DEI – Politecnico di Milano CEFRIEL CEFRIEL
E N D
The Experience of Realizing a Semantic Web Urban Computing Applicationhttp://wiki.larkc.eu/UrbanComputing/ Emanuele Della Valle Irene Celino Daniele Dell’Aglio DEI – Politecnico di Milano CEFRIEL CEFRIEL emanuele.dellavalle@polimi.it. Irene.celino@cefriel.itdaniele.dellaglio@cefriel.it
Introduction Urban Computing The integration of computing, sensing, and actuation technologies into everyday urban settings and lifestyles. [source IEEE Pervasive Computing,July-September 2007 (Vol. 6, No. 3)] Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Introduction Urban Data Availability • A large amount of the required information are (or can be made) available on the Internet • maps (Google,Yahoo!, Wikimapia, OpenStreetMap ), • events scheduled (Eventful, Upcoming…), • voluntarily-provided users location (Google Latitude), • multimedia data with information about location (Flickr, YouTube, …) • relevant places (schools, bus stops, airports...) • traffic information (accidents, problems of public transportation...) • city life (job ads, pollution, health care...) Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Introduction Sample Usage Scenario • A user is in a unknown city and would like to organize a day by visiting some places and attending a music concert • He therefore needs to: • Find interesting destinations • Monuments or relevant places • Music or cultural events scheduled for that day • Understand the most suitable way to reach them • To solve the problem today, the user would have to use multiple applications, manually check his requirements, manually passing intermediate results from a service to another one Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
IntroductionProblems in Automating Such Process • Lack of single homogenous query language to issue queries with • Plurality of the data sources involved in answering even simple queries • Heterogeneity of data sources • Need for interlinking data spread over various data sources • No duplication of several sources may be allowed • Data is evolving (e.g., events, friends positions) Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
IntroductionOur Assumptions • Integration of heterogeneous data source can be performed adoptingRDF as interchange data format and linking data in sources to popular ontologies • Virtual RDF approach can be use to access contents in source without translating the entire source in RDF • Up-to-date contents can be found using dedicated search engines • Data in different sources can be cross linked • User queries can be encoded in SPARQL, but users are not requested to know the location of data • SPARQL can be extended to integrate computations that are better performed by dedicated algorithm Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
BackgroundsAre Semantic Web Techs up to the Challenge? • This kind of scenarios, if widely deployed, easily requires reasoning on 1010 triples in 100s ms • Semantic Web techs are not up to this task (yet) • OWL-DL: 7.8 s reasoning about 4.4*109 triples • RDF-S: 75 ms reasoning about 109 triples Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Backgrounds LarKC project • LarKC project aims at overcoming current limitation by fusing reasoning with search • LarKC Platform • a pluggable algorithmic framework to exploit techniques from databases, machine learning, cognitive science, … and geographic information systems as well • RDF as internal data representation • SPARQL as language to issue queries • Types of plug-ins: Identifiers, Selectors, Transformers, Reasoners, and Deciders Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experienceAlpha Urban LarKC PLATFORM SPARQL query SPARQL result Web Retrieved Data Data Request PROBLEM: Which Milano monuments or events can I quickly get to from here? Data & Tools Streets Events Monuments Live Demo of the client application: http://seip.cefriel.it/alpha-Urban-LarKC/ A demonstration video: http://seip.cefriel.it/alpha-Urban-LarKC/alpha-Urban-LarKC-demo.htm Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experienceData Preparation - Milan Street Topology • Owned by Agenzia Mobilita, Ambiente e Territorio • http://www.amat-mi.it/ • AvailableasESRI shape file • Process we followed to treat it as a virtual RDF graph • We opened ESRI shape file using PostGIS • We exported the geographic information in PostgreSQL • Loosing the PostGIS spatial extensions :-/ • We chose to represent data using W3C Geo Positioning RDF vocabulary and our own vocabulary • We expose the PostgreSQL database using D2R Server and D2RQ as a Virtual RDF graph • We added back some typical GIS spatial extensions using AllegroGraph spatial extensions Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experienceData Preparation – Possible Destinations • Monuments • DBpedia resources indirectly accessed using Sindice • Already available as RDF • Events • Events from Eventful indirectly access using REST API • Not available as RDF • Process to map them to RDF on the fly • We chose to represent event using RDF Calendar, Talis Address schema, W3C Geo and SKOS vocabularies • We wrote an XSLT to transform the proprietary XML schema of Eventful in RDF • We wrote two LarKC plugins that fetch the events from the REST service and apply the XSLT transformation Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Alpha Urban LarKC workflows • The Alpha Urban LarKC is composed by 3 different workflows: • monument destinationselection workflow • event destination selection workflow • pathfinding workflow PLATFORM SPARQL query SPARQL result Web Retrieved Data Data Request Streets Events Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Monument Destination Selection Worflow • To select monuments in Milano: • a Transformer analyzes the query to get the triple patterns to be passed to the Identifier • the Identifier queries Sindice to get relevant RDF documents • a Selecter filters the documents to extract information about relevant monuments and • a Reasoner answers the query Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Alpha Urban LarKC workflows • The alpha Urban LarKC is composed by 3 different workflows: • monument destinationselection workflow • event destination selection workflow • pathfinding workflow PLATFORM SPARQL query SPARQL result Web Retrieved Data Data Request Streets Events Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Event Selection Workflow • In order to retrieve events in LarKC we developed a workflow composed by: • a query Transformer processes the input SPARQL query and extracts location and time information interacting with GeoNames, then • an Identifier uses the extracted information and it queries Eventful to get a list of events and passes the references to • a Transformer, which translates the REST service XML response in RDF • a Selecter passes on all the triples to • a Reasoner, which answers the query Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Alpha Urban LarKC workflows • The alpha Urban LarKC is composed by 3 different workflows: • monument destinationselection workflow • event destination selection workflow • pathfinding workflow PLATFORM SPARQL query SPARQL result Web Retrieved Data Data Request Streets Events Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience One of the Path Finding Workflow • Route planning is rapidly developing • Recent algorithms are one million times faster than Dijkstra's algorithm • Performances improvements are based on a smarter selection of the data subset on which applying standard algorithms • Just like LarKC ;-) • We implemented naively a Hierarchical Approach to route planning Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
EvaluationStress Tests • We measured the average response time at increasing number of concurrent requests • Lesson Learned: response time could be improved if caching mechanisms were implemented EVDB server side caching? Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
EvaluationQuality Evaluation 1/2 • Errors raised while executing the monument pipeline due to Sindice and DBpedia not answering • Sindice incomplete results • Lesson Learned: • Be careful in using 3rd party services • SLA are required for some of our assumptions to hold Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
EvaluationQuality Evaluation 2/2 • Analysis of the events retrieved from EVDB for Milan • Lesson Learned • If contents are voluntarily contributed data quality can be an issue • Counter measurements should be put in place • Duplication elimination • Disambiguation of Geographical Identifiers Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Conclusions and Future Works • Positive feedbacks about using LarKC • Modularity • easier development process • more parallelizable and controllable • Plug-ability • easier integration of geo-spatial tools • Demonstrating Alpha Urban LarKC for any city is next step • Big obstacle: availability of street topology for other cities • Solution: investigate the adoption of OpenStreetMap exposed as linked data by LinkedGeoData • Key missing component: • A tools to directly treat GIS as Virtual RDF graphs • GIS2RDF server • Mapping language • GeoSPARQL extension Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Much more to come! Keep an eye on http://wiki.larkc.eu/UrbanComputing 22 Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
5 from B linkWeight 3 to l2 linkWeight l1 to from D A long 9.456 lat 45.123 Our experienceA Vocabulary for Street Topology in RDF A type Node. B type Node. D type Node. A lat 9.456 A long 45.123 l1 type Link. l1 from A. l1 to B. l1 linkWeight 3. l2 type Link. l2 from B. l2 to D. l2 linkWeight 5. Classes: • Node • Link Node definitions Properties (domain / range): • from (Link / Node) • to (Link / Node) • lat (Node / xsd:Float) • long (Node / xsd:Float) • linkWeight (Link / xsd:Float) Link definitions B l1 3m l2 A 5m 2m l3 l4 D C l5 6m l7 l6 3m 4m 4m 4m F l8 E Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Adding the Notion of Path The new schema: 5 Classes: • Node • Link • Path from B linkWeight 3 to l2 linkWeight l1 to 45.123 from contain long D contain A Properties (domain / range): • from (Link / Node) • to (Link / Node) • lat (Node / xsd:Float) • long (Node / xsd:Float) • linkWeight (Link / xsd:Float) • contain (Path / Link) • pathWeight (Path / xsd:Float) • pathFrom (Path / Node) • pathTo (Path / Node) lat pathTo 9.456 pathFrom p 8 pathWeight Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Our experience Query: SPARQL query to get the path • Having introduced the notion of Path and counting on a reasoner that can generate paths, the query can be expressed in plain SPARQL SELECT ?p ?w ?n1 ?l ?n2 WHERE{ ?p rdf:type Path. ?p pathFrom <startingNode>. ?p pathTo <endingNode>. ?p contain ?l. ?l from ?n1. ?l to ?n2. ?p pathWeight ?w } ORDER BY ?w Terra Cognita @ ISWC 2009, Washington, USA 26-10-2009
Integrating the GraphProcess and the SPARQL engine results query Result set Delete Path(s) Graph Query Extractor query SPARQL Engine RDF Repository query Path(s) (RDF) Start/End points Graph Submodel Extractor GraphProcessor Output Converter Input Converter Shortest Path Alg. Graph Model (RDF) Before query processing During query processing After query processing NTT DoCoMo Invited speech, 11-3-2009