LarKC Tutorial at ISWC 2009 - Urban Computing
Upcoming SlideShare
Loading in...5
×
 

LarKC Tutorial at ISWC 2009 - Urban Computing

on

  • 996 views

The aim of the EU FP 7 Large-Scale Integrating Project LarKC is to develop the Large Knowledge Collider (LarKC, for short, pronounced “lark”), a platform for massive distributed incomplete ...

The aim of the EU FP 7 Large-Scale Integrating Project LarKC is to develop the Large Knowledge Collider (LarKC, for short, pronounced “lark”), a platform for massive distributed incomplete reasoning that will remove the scalability barriers of currently existing reasoning systems for the Semantic Web. The LarKC platform is available at larkc.sourceforge.net. This talk, is part of a tutorial for early users of the LarKC platform, and describes a particular use case aimed at Urban Computing.

Statistics

Views

Total Views
996
Views on SlideShare
991
Embed Views
5

Actions

Likes
0
Downloads
24
Comments
0

2 Embeds 5

http://www.larkc.eu 4
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Service-Finder

LarKC Tutorial at ISWC 2009 - Urban Computing LarKC Tutorial at ISWC 2009 - Urban Computing Presentation Transcript

  • Understanding and Manipulating the Urban Computing workflows http://wiki.larkc.eu/UrbanComputing/ Daniele Dell’Aglio Emanuele Della Valle [email_address] [email_address] Joint work with: CEFRIEL: I. Celino, D.Dell’Aglio SALTLUX: K. Kim, S. Park VUA: Z. Huang SIEMENS: V.Tresp, Y. Huang, F. Steinke H. Werner
  • Context – Urban Computing [source IEEE Pervasive Computing,July-September 2007 (Vol. 6, No. 3) ] Terra Cognita Workshop, 26-10-2009 The integration of computing, sensing, and actuation technologies into everyday urban settings and lifestyles.
  • Context – Urban Data Availability
    • Some years ago, due to the lack of data, Urban Computing looked like a Sci-Fi idea.
    • Nowadays, a large amount of the required information can be made available on the Internet at almost no cost. We are running a survey [1,2] and we have collected more than 50 sources of data:
      • maps (Google,Yahoo!, Wikimapia, OpenStreetMap ),
      • events scheduled (Eventful, Upcoming…),
      • voluntarily-provided users location (Google Latitude),
      • multimedia data with information about location (Flickr…)
      • relevant places (schools, bus stops, airports...)
      • traffic information (accidents, problems of public transportation...)
      • city life (job ads, pollution, health care...)
    • [1] http://wiki.larkc.eu/UrbanComputing/ShowUsABetterWay
    • [2] http://wiki.larkc.eu/UrbanComputing/OtherDataSources
    2nd Early Adopters Workshop, 25-10-2009 View slide
  • Sample Usage Scenario: Alpha Urban LarKC
    • A user is in a (potentially unknown) city and would like to organize a day/night by visiting some places, meeting his friends, attending a music concert, etc.
    • He therefore needs to:
      • Find interesting destinations
        • Monuments or relevant places opened at the right time
        • People he knows who happen to be in the same city
        • Music or cultural events scheduled for that day
      • Understand the most suitable way to reach them
        • Shortest path or “sightseeing” path
        • Most suitable combination of transportation means (car, parking, subway, pedestrian)
    • 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
    2nd Early Adopters Workshop, 25-10-2009 View slide
  • Alpha Urban LarKC challenges
    • Integration of multiple distributed data sources
    • Overcoming data and system heterogeneity
    • Selection of the relevant subset of data to be processed (problem of scale )
    • Dealing with real-time requirements
    • (Potentially) profilation and personalization of the service based on user preferences
    2nd Early Adopters Workshop, 25-10-2009
  • Alpha Urban LarKC at a glace Data Request Web Retrieved Data PROBLEM : Which Milano monuments or events can I quickly get to from here? Streets Monuments Events Data & Tools PLATFORM SPARQL query SPARQL result 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 2nd Early Adopters Workshop, 25-10-2009
  • Alpha Urban LarKC workflows
    • The Alpha Urban LarKC is composed by 3 different workflows:
      • monument destination selection workflow
      • event destination selection workflow
      • path finding workflow
    2nd Early Adopters Workshop, 25-10-2009 Data Request Web Retrieved Data PLATFORM SPARQL query SPARQL result Streets Events
  • 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 Selector filters the documents to extract information about relevant monuments and
      • a Reasoner answers the query
    2nd Early Adopters Workshop, 25-10-2009
  • Alpha Urban LarKC workflows
    • The alpha Urban LarKC is composed by 3 different workflows:
      • monument destination selection workflow
      • event destination selection workflow
      • path finding workflow
    2nd Early Adopters Workshop, 25-10-2009 Data Request Web Retrieved Data PLATFORM SPARQL query SPARQL result Streets Events
  • Events retrieval
    • Actually in the Web a big amount of information related to events of every kind is available:
      • Music
      • Sport
      • Education
    • There are several Web 2.0 sites where communities contribute inserting and managing event notifications
    • In addition, these sites offer REST/SOAP services allowing interaction with applications and services
    • We tried to integrate these data sources in the Alpha Urban LarKC
    2nd Early Adopters Workshop, 25-10-2009
  • Events representation
    • Every site uses a custom model to represent the events (usually described in the API documentation) and offers the information in XML and JSON formats
    • On the other side, the Semantic Web community has developed several vocabularies useful to represent events descriptions in RDF:
      • RDF Calendar – an RDF representation of iCalendar
      • Talis Address schema – to represent information about locations (country, cities, postal codes...)
      • Geo – a vocabulary to express geo-location coordinates
      • SKOS – to represent the events categories
    2nd Early Adopters Workshop, 25-10-2009
  • Query: SPARQL query to get the events
    • Using the vocabularies described above it’s possible to write a query to retrieve events.
      • SELECT ?e ?s ?summary ?cat ?desc ?l ?lab ?lat ?lng
      • WHERE{
      • ?e rdf:type rdfcal:Vevent. ?e rdfcal:summary ?summary. ?e rdfcal:description ?desc. ?e skos:subject ?cat. ?e geo:location ?l. ?l addr:localityName “Washington".
      • ?l rdfs:label ?lab. ?l geo:lat ?lat. ?l geo:long ?lng. ?e rdfcal:dtstart ?s . FILTER(
      • ?s > xsd:dateTime("2009-10-25T00:00:00Z") &&
      • ?s < xsd:dateTime(&quot;2009-10-25T23:59:59Z&quot;)).
      • }
    2nd Early Adopters Workshop, 25-10-2009
  • 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
      • an Identifier 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 Selector passes on all the triples to
      • a Reasoner, which answers the query
    2nd Early Adopters Workshop, 25-10-2009
  • SparqlToCityQuery Transformer (1/2)
    • The query Transformer processes the input SPARQL query to extract the location and time information.
    • The time information (red part) is a temporal range and it is simply extracted from the FILTER constraints
    • Regarding the location information (blue part), in the query only the name of the city (and optionally the name of the country) is available.
      • Using only the name some events could not be retrieved (“Milano” vs “Milan”).
      • It will be possible to obtain more complete and precise responses if city coordinates are used
      • To get the coordinates of a city the plug-in interacts with GeoNames Web service
    2nd Early Adopters Workshop, 25-10-2009
      • Query:
      • ...
      • ?e geo:location ?l. ?l rdfs:label ?lab. ?l geo:lat ?lat. ?l geo:long ?lng. ?l addr:localityName “Washington D.C.&quot;.
      • ?e rdfcal:dtstart ?s . FILTER(?s > xsd:dateTime(&quot;2009-10-25T00:00:00Z&quot;) && ?s < xsd:dateTime(&quot;2009-10-25T23:59:59Z&quot;)).
      • ...
  • SparqlToCityQuery Transformer (2/2)
    • CODE INSPECTION
    • eu.larkc.plugin.transform.urbancomputing.ubl.SparqlToCityQueryTransformer (from row 120)
    2nd Early Adopters Workshop, 25-10-2009
  • Event Identifier (1/2)
    • The Identifier receives the location and time information from the Transformer.
    • It uses this information to preparare an invokation for the Eventful REST service and to get the list of the events
    • Starting from this list, the plug-in build a set of XMLDocument objects containing:
      • the link of the XML describing the event
      • a pointer to a XSLT file to perform the translation in RDF/XML
    2nd Early Adopters Workshop, 25-10-2009
  • Event Identifier (2/2)
    • CODE INSPECTION
    • eu.larkc.plugin.identify.urbancomputing.ubl.EventIdentifier
    • (from row 95)
    2nd Early Adopters Workshop, 25-10-2009
  • XML2RDF Tranformer (1/2)
    • The InformationSet Transformer receives a couple: <XML, XSLT> (contained in a XMLDocument object)
    • It loads the XML file from Eventful and the XSL file and it performs the XSLT transformation
    • The result is an RDF graph containing the event description
    • If two or more events are retrieved by the Event Identifier, the LarKC platform will invoke the XML2RDF Transformer several times (one for each XML document)
    2nd Early Adopters Workshop, 25-10-2009
  • XML2RDF Tranformer (2/2)
    • CODE INSPECTION
    • eu.larkc.plugin.transform.urbancomputing.ubl.XML2RDFTransformer
    • (from row 73)
    2nd Early Adopters Workshop, 25-10-2009
  • Alpha Urban LarKC workflows
    • The alpha Urban LarKC is composed by 3 different workflows:
      • monument destination selection workflow
      • event destination selection workflow
      • path finding workflow
    2nd Early Adopters Workshop, 25-10-2009 Data Request Web Retrieved Data PLATFORM SPARQL query SPARQL result Streets Events
  • Input data: Street Topology in RDF
    • Classes:
    • Node
    • Link
    • Properties (domain / range):
    • from (Link / Node)
    • to (Link / Node)
    • lat (Node / xsd:Float)
    • long (Node / xsd:Float)
    • linkWeight (Link / xsd:Float)
    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. Node definitions Link definitions l1 l3 l2 l4 l7 l8 l5 l6 A B C D E F 3m 2m 3m 5m 4m 6m 4m 4m 2nd Early Adopters Workshop, 25-10-2009 9.456 A B l1 l2 D 3 5 from from to to linkWeight linkWeight 45.123 lat long
  • Output data: path definition in RDF
    • Classes:
    • Node
    • Link
    • Path
    • 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)
    The new schema: A B l1 l2 D 3 5 from from to to linkWeight linkWeight p 8 pathWeight pathFrom pathTo contain contain 9.456 45.123 lat long 2nd Early Adopters Workshop, 25-10-2009
  • 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
    • Note : this is a simplification, the query should request also the coordinates of each node
    2nd Early Adopters Workshop, 25-10-2009
  • Alpha Urban LarKC Path Finding Workflow 1
    • Decider  AlphaUrbanLarkcDecider
    • Identifier  RemoteGraphLoaderIdentifier
    • Selecter  GrowingDatasetSelecter
    • Reasoner  OpResPathFinderReasoner
    2nd Early Adopters Workshop, 25-10-2009 Decider SPARQL Result SPARQL Query Local Plug-in Manager Identifier Plug-in API Local Plug-in Manager Selector Plug-in API Local Plug-in Manager Reasoner Plug-in API
  • Identifier strategy
    • Selection of the whole graph (in this case the one of the Milano centre area)
    • Implemented in RemoteGraphLoaderIdentifier
    2nd Early Adopters Workshop, 25-10-2009
  • OpResPathFinder Reasoner (1/2)
    • In order to process the most desirable path we choose to follow a Operational Research approach
      • the Milano graph described in RDF is converted in a suitable form
      • Dijkstra’s algorithm is applied to find a path between the start and the goal node
    2nd Early Adopters Workshop, 25-10-2009
  • OpResPathFinder Reasoner (2/2)
    • CODE INSPECTION
    • eu.larkc.plugin.reason.urbancomputing.ubl. OpResPathFinderReasoner
    • (from row 85)
    2nd Early Adopters Workshop, 25-10-2009
  • Much more to come! Keep an eye on http://wiki.larkc.eu/UrbanComputing 2nd Early Adopters Workshop, 25-10-2009