Published using Google Docs
LODLAM Training Day 2014
Updated automatically every 5 minutes

Reference vocabularies for attribute values

Schemas

Tools capable of operating on top of a SPARQL endpoint

SPARQL endpoints to try if you don't have one of your own

Examples for RelFinder

Examples for VISU

Examples for Palladio

Aggregated letters, lifetimes & travels from five different sources

SPARQL endpoint: http://ldf.fi/procope/sparql

Event query:

PREFIX ps: <http://ldf.fi/procope-schema#>

PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

PREFIX wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#>

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

PREFIX ees: <http://ldf.fi/ee-schema#>

PREFIX gts: <http://ldf.fi/grandtour-schema#>

SELECT ?place1 ?place2 ?year1 ?year2 (COUNT(*) AS ?events) WHERE {

{

?letter a ees:Letter .

?letter ees:sourceLocation ?place1 .

?letter ees:destinationLocation ?place2 .

?letter crm:P4_has_time-span|ees:hasPossibleTimeSpan ?time .

?time crm:P82a_begin_of_the_begin ?begintime .

?time crm:P82b_end_of_the_end ?endtime .

} UNION {

?person ps:placeOfBirth ?place1 .

?person ps:placeOfDeath ?place2 .

?person ps:birthDate|ps:possibleBirthDate ?time1 .

?person ps:deathDate|ps:possibleDeathDate ?time2 .

?time1 crm:P82a_begin_of_the_begin ?begintime .

?time2 crm:P82b_end_of_the_end ?endtime .

} UNION {

?travel1 crm:P14_carried_out_by ?person .

?travel1 crm:P4_has_time-span|gts:estimatedTimeSpan ?time1 .

?time1 crm:P82a_begin_of_the_begin ?begintime .

?travel2 crm:P14_carried_out_by ?person .

FILTER (?travel1!=?travel2)

?travel2 crm:P4_has_time-span|gts:estimatedTimeSpan ?time2 .

?time2 crm:P82b_end_of_the_end ?endtime .

FILTER(?begintime<?endtime)

FILTER NOT EXISTS {

?travel3 crm:P14_carried_out_by ?person .

?travel3 crm:P4_has_time-span|gts:estimatedTimeSpan ?time3 .

?time3 crm:P82b_end_of_the_end ?endtime2 .

FILTER(?endtime2<?endtime && ?endtime2>?begintime)

}

?travel1 crm:P7_took_place_at ?place1 .

?travel2 crm:P7_took_place_at ?place2 .

}

FILTER EXISTS {

?place1 wgs84:lat ?lat1 .

?place2 wgs84:lat ?lat2 .

}

BIND(YEAR(?begintime) AS ?year1)

BIND(YEAR(?endtime) AS ?year2)

FILTER(?year1<=?year2 && ?year1>=1700 && ?year2<1800)

}

GROUP BY ?place1 ?place2 ?year1 ?year2

HAVING(?events>5)

Secondary place query:

PREFIX ps: <http://ldf.fi/procope-schema#>

PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

PREFIX wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#>

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

PREFIX ees: <http://ldf.fi/ee-schema#>

PREFIX gts: <http://ldf.fi/grandtour-schema#>

SELECT ?place (SAMPLE(?name) AS ?pname) (CONCAT(SAMPLE(?lat),',',SAMPLE(?lon)) AS ?coordinates) {

        ?place skos:prefLabel ?name .

        ?place wgs84:lat ?lat .

        ?place wgs84:long ?lon .

} GROUP BY ?place