-
Notifications
You must be signed in to change notification settings - Fork 0
SPARQL query examples
Jindřich Mynarz edited this page Jan 12, 2015
·
8 revisions
PREFIX gr: <http://purl.org/goodrelations/v1#>
PREFIX pc: <http://purl.org/procurement/public-contracts#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?match (SAMPLE(?_label) AS ?label) ?score
WHERE {
{
SELECT ?match (SUM(?inScoreModifier * ?outScoreModifier * ?contractCount) AS ?score)
WHERE {
{
SELECT ?match ?inScoreModifier ?outScoreModifier (COUNT(DISTINCT ?contract) AS ?contractCount)
WHERE {
{
SELECT ?cpvObject ?inScoreModifier
WHERE {
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
VALUES (?objectProperty ?inScoreModifier) {
(pc:mainObject 1)
(pc:additionalObject 0.1)
}
<http://linked.opendata.cz/resource/vestnikverejnychzakazek.cz/public-contract/479352-7403012079352> ?objectProperty ?cpvObject .
}
}
}
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
VALUES (?objectProperty ?outScoreModifier) {
(pc:mainObject 1)
(pc:additionalObject 0.1)
}
?contract pc:awardedTender [
pc:supplier ?match
] ;
?objectProperty ?cpvObject .
}
}
GROUP BY ?match ?inScoreModifier ?outScoreModifier
}
}
GROUP BY ?match
ORDER BY DESC(?score)
LIMIT 100
OFFSET 0
}
OPTIONAL {
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
?match gr:legalName ?_label .
}
}
}
GROUP BY ?match ?score
PREFIX ex: <http://example.com/>
PREFIX gr: <http://purl.org/goodrelations/v1#>
PREFIX pc: <http://purl.org/procurement/public-contracts#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?match (SAMPLE(?_label) AS ?label) ?score
WHERE {
{
SELECT ?match (SUM(?inScoreModifier * ?outScoreModifier * ?contractCount) AS ?score)
WHERE {
{
SELECT ?match ?inScoreModifier ?outScoreModifier (COUNT(DISTINCT ?contract) AS ?contractCount)
WHERE {
{
SELECT ?cpv ?inScoreModifier
WHERE {
{
SELECT ?cpv (1 AS ?inScoreModifier)
WHERE {
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
<http://linked.opendata.cz/resource/vestnikverejnychzakazek.cz/public-contract/50017676-5001767603001> pc:mainObject ?cpv .
}
}
} UNION {
SELECT ?cpv (0.1 * ?idf AS ?inScoreModifier)
WHERE {
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
<http://linked.opendata.cz/resource/vestnikverejnychzakazek.cz/public-contract/50017676-5001767603001> pc:additionalObject ?cpv .
}
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25/explicit-cpv-idfs> {
?cpv ex:idf ?idf .
}
}
} UNION {
SELECT ?cpv (1 * ?idf AS ?inScoreModifier)
WHERE {
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
<http://linked.opendata.cz/resource/vestnikverejnychzakazek.cz/public-contract/50017676-5001767603001> pc:mainObject ?_cpv .
}
GRAPH <http://linked.opendata.cz/resource/dataset/cpv-2008> {
?_cpv skos:broaderTransitive{1,2} ?cpv .
}
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25/inferred-cpv-idfs> {
?cpv ex:idf ?idf .
}
}
}
}
}
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
VALUES (?objectProperty ?outScoreModifier) {
(pc:mainObject 1)
(pc:additionalObject 0.1)
}
?contract pc:awardedTender [
pc:bidder ?match
] ;
?objectProperty ?cpv .
}
}
GROUP BY ?match ?inScoreModifier ?outScoreModifier
}
}
GROUP BY ?match
ORDER BY DESC(?score)
LIMIT 100
OFFSET 0
}
GRAPH <http://linked.opendata.cz/resource/dataset/vestnikverejnychzakazek.cz/2014-08-25> {
OPTIONAL {
?match gr:legalName ?_label .
}
}
}
GROUP BY ?match ?score