We start with the following SPARQL query:
SELECT DISTINCT ?event ?title ?date WHERE { ?event <http://linkedevents.org/ontology/inSpace> ?space . ?space <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat. ?space <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?lon. ?event <http://purl.org/dc/elements/1.1/title> ?title . ?event <http://linkedevents.org/ontology/atTime> ?odate . ?odate <http://www.w3.org/2006/time#inXSDDateTime> ?date . FILTER ( ( xsd:float(?lat) - 45.22 ) > -0.5 && ( xsd:float(?lat) - 45.22 ) < 0.5 && ( xsd:float(?lon) - 5.81 ) > -0.5 && ( xsd:float(?lon) - 5.81 ) < 0.5 ) } LIMIT 10which, when evaluated against http://eventmedia.eurecom.fr/sparql/, returns the following answers:
The exercise is as follows:
- Provide an RDF graph which is an answer for this query.
- Provide an RDF graph which is not an answer for this query.
- Given that the data to be queried is expressed in the LODE ontology [http://linkedevents.org/ontology/ | ontos/lode.rdf], can you provide the types of your data?
- The schema.org ontology
[http://schema.org/docs/schemaorg.owl | ontos/schemaorg.owl] provides the classes:
<owl:Class rdf:about="http://schema.org/Event"> <rdfs:label xml:lang="en">Event</rdfs:label> <rdfs:subClassOf rdf:resource="http://schema.org/Thing"/> <rdfs:comment xml:lang="en">An event happening at a certain time at a certain location.</rdfs:comment> </owl:Class>
<owl:DatatypeProperty rdf:about="http://schema.org/name"> <rdfs:label xml:lang="en">name</rdfs:label> <rdfs:comment xml:lang="en">The name of the item.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Thing"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="http://schema.org/startDate"> <rdfs:label xml:lang="en">startDate</rdfs:label> <rdfs:comment xml:lang="en">The first broadcast date of the TV season or series.</rdfs:comment> <rdfs:comment xml:lang="en">The start date and time of the event (in <a href="http://en.wikipedia.org/wiki/ISO_8601" target="new">ISO 8601 date format</a>).</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> <rdfs:domain> <rdf:Description rdf:about="http://schema.org/Event"/> </rdfs:domain> </owl:DatatypeProperty>
<owl:ObjectProperty rdf:about="http://schema.org/location"> <rdfs:label xml:lang="en">location</rdfs:label> <rdfs:comment xml:lang="en">The location of the event or organization.</rdfs:comment> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Place"/> <rdf:Description rdf:about="http://schema.org/PostalAddress"/> </owl:unionOf> </owl:Class> </rdfs:range> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Event"/> <rdf:Description rdf:about="http://schema.org/Organization"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:ObjectProperty>
<owl:Class rdf:about="http://schema.org/Place"> <rdfs:label xml:lang="en">Place</rdfs:label> <rdfs:subClassOf rdf:resource="http://schema.org/Thing"/> <rdfs:comment xml:lang="en">Entities that have a somewhat fixed, physical extension.</rdfs:comment> </owl:Class>
<owl:ObjectProperty rdf:about="http://schema.org/geo"> <rdfs:label xml:lang="en">geo</rdfs:label> <rdfs:comment xml:lang="en">The geo coordinates of the place.</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Place"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/GeoCoordinates"/> </owl:unionOf> </owl:Class> </rdfs:range> </owl:ObjectProperty>
<owl:Class rdf:about="http://schema.org/GeoCoordinates"> <rdfs:label xml:lang="en">GeoCoordinates</rdfs:label> <rdfs:subClassOf rdf:resource="http://schema.org/StructuredValue"/> <rdfs:comment xml:lang="en">The geographic coordinates of a place or event.</rdfs:comment> </owl:Class>
<owl:ObjectProperty rdf:about="http://schema.org/latitude"> <rdfs:label xml:lang="en">latitude</rdfs:label> <rdfs:comment xml:lang="en">The latitude of a location. For example <code>37.42242</code>.</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/GeoCoordinates"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Number"/> <rdf:Description rdf:about="http://schema.org/Text"/> </owl:unionOf> </owl:Class> </rdfs:range> </owl:ObjectProperty>
<owl:ObjectProperty rdf:about="http://schema.org/longitude"> <rdfs:label xml:lang="en">longitude</rdfs:label> <rdfs:comment xml:lang="en">The longitude of a location. For example <code>-122.08585</code>.</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/GeoCoordinates"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="http://schema.org/Number"/> <rdf:Description rdf:about="http://schema.org/Text"/> </owl:unionOf> </owl:Class> </rdfs:range> </owl:ObjectProperty>
Is it possible to express the positive example with this ontology?
- Express the alignment between the Schema.org ontology and the LODE ontology such that you could transform the query.
- What strategies are available to evaluate the given query with respect to schema.org?
- Can you express these strategies with respect to the definition given in class?
- Can you illustrate the use of such an alignment?
Once this alignment has been obtained, our goal is to use it considering that a set of instances in Schema.org is available.