Help:SPARQL
Questa pagina conterrà esempi dettagliati per usare lo endpoint SPARQL.
Si tratta di una caratteristica sperimentale.
Dove si trova
L'interfaccia umana è disponibile a https://query.wikitrek.org, lo endpoint API si trova a https://query.wikitrek.org/sparql
A cosa serve
Elenco da organizzare:
- Guida https://en.wikipedia.org/wiki/SPARQL
- Esempi https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries/examples
Elenco dei prefissi personalizzati
I prefissi personalizzati permettono distinguono i dati specifici di DataTrek da quelli di Wikidata. Questo è l'elenco completo, non necessariamente tutti i prefissi servono in tutte le query.
PREFIX dtk: <https://data.wikitrek.org/entity/>
PREFIX dtkdata: <https://data.wikitrek.org/wiki/Special:EntityData/>
PREFIX dtks: <https://data.wikitrek.org/entity/statement/>
PREFIX dtkref: <https://data.wikitrek.org/reference/>
PREFIX dtkv: <https://data.wikitrek.org/value/>
PREFIX dtkp: <https://data.wikitrek.org/prop/>
PREFIX dtkps: <https://data.wikitrek.org/prop/statement/>
PREFIX dtkpsv: <https://data.wikitrek.org/prop/statement/value/>
PREFIX dtkpsn: <https://data.wikitrek.org/prop/statement/value-normalized/>
PREFIX dtkpq: <https://data.wikitrek.org/prop/qualifier/>
PREFIX dtkpqv: <https://data.wikitrek.org/prop/qualifier/value/>
PREFIX dtkpqn: <https://data.wikitrek.org/prop/qualifier/value-normalized/>
PREFIX dtkpr: <https://data.wikitrek.org/prop/reference/>
PREFIX dtkprv: <https://data.wikitrek.org/prop/reference/value/>
PREFIX dtkprn: <https://data.wikitrek.org/prop/reference/value-normalized/>
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
PREFIX dtktn: <https://data.wikitrek.org/prop/direct-normalized/>
PREFIX dtkno: <https://data.wikitrek.org/prop/novalue/>
Codice di esempio
Episodi
Episodi di Lower Decks
Elenco di episodi di Lower Decks
PREFIX wd: <https://data.wikitrek.org/entity/>
PREFIX wdt: <https://data.wikitrek.org/prop/direct/>
SELECT ?episode ?episodeLabel ?publication ?production WHERE {
?episode wdt:P14 wd:Q10317;
wdt:P101 ?publication;
wdt:P1 ?production
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ASC (?production)
Episodi di Lower Decks (nuovi prefissi)
Elenco di episodi di Lower Decks con modifiche al prefisso come da https://prefix.cc/dtk, vedere anche il task 335448 e i primi passi.
#Episodi di Lower Decks
PREFIX dtk: <https://data.wikitrek.org/entity/>
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
PREFIX dtkref: <https://data.wikitrek.org/reference/>
PREFIX dtkval: <https://data.wikitrek.org/value/>
SELECT ?episode ?episodeLabel ?publication ?production WHERE {
?episode dtkt:P14 dtk:Q10317;
dtkt:P101 ?publication;
dtkt:P1 ?production
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ASC (?production)
Episodi di Prodigy
Elenco di episodi di Prodigy
PREFIX wd: <https://data.wikitrek.org/entity/>
PREFIX wdt: <https://data.wikitrek.org/prop/direct/>
SELECT ?episode ?episodeLabel ?publication ?production WHERE {
?episode wdt:P14 wd:Q10692;
wdt:P101 ?publication;
wdt:P1 ?production
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ASC (?production)
Attori
Totale degli attori
Elenco di episodi di Lower Decks
# Totale degli attori
PREFIX dtk: <https://data.wikitrek.org/entity/>
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
PREFIX dtkref: <https://data.wikitrek.org/reference/>
PREFIX dtkval: <https://data.wikitrek.org/value/>
PREFIX dtkpq: <https://commons.wikimedia.org/prop/qualifier/>
SELECT (COUNT(*) AS ?count)
WHERE {
?item dtkt:P77 dtk:Q19 .
}
Sitelinks
Sitelinks di tutti gli elementi
Elenco di tutti gli elementi con relativi Sitelinks.
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
SELECT ?item ?itemLabel ?sitelink ?site ?title WHERE {
?item dtkt:P14 ?type.
?sitelink schema:about ?item;
schema:isPartOf ?site;
schema:name ?title;
schema:inLanguage ?language.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
LIMIT 100
Sitelinks di Memory Alpha e Beta
Elenco di tutti gli elementi con relativi Sitelinks solo se relativi a Memory Alpha o Beta.
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
SELECT ?item ?itemLabel ?enMA ?enMB ?deMA ?deMB ?itMA
WHERE {
?item dtkt:P14 ?type.
?sitelink schema:about ?item;
schema:isPartOf ?site;
schema:name ?title;
schema:inLanguage ?language.
FILTER(CONTAINS(LCASE(STR(?sitelink)), "memory"))
BIND(IF(CONTAINS(STR(?sitelink), "alpha.fandom.com/de/"), ?sitelink, "") AS ?deMA)
BIND(IF(CONTAINS(STR(?sitelink), "beta.fandom.com/de/"), ?sitelink, "") AS ?deMB)
BIND(IF(CONTAINS(STR(?sitelink), "alpha.fandom.com/wiki/"), ?sitelink, "") AS ?enMA)
BIND(IF(CONTAINS(STR(?sitelink), "beta.fandom.com/wiki/"), ?sitelink, "") AS ?enMB)
BIND(IF(CONTAINS(STR(?sitelink), "alpha.fandom.com/it/"), ?sitelink, "") AS ?itMA)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
GROUP BY ?item ?itemLabel ?enMA ?enMB ?deMA ?deMB ?itMA
LIMIT 100
Sitelinks non raggruppati
Sitelinks non raggruppati.
PREFIX dtk: <https://data.wikitrek.org/entity/>
PREFIX dtkdata: <https://data.wikitrek.org/wiki/Special:EntityData/>
PREFIX dtks: <https://data.wikitrek.org/entity/statement/>
PREFIX dtkref: <https://data.wikitrek.org/reference/>
PREFIX dtkv: <https://data.wikitrek.org/value/>
PREFIX dtkp: <https://data.wikitrek.org/prop/>
PREFIX dtkps: <https://data.wikitrek.org/prop/statement/>
PREFIX dtkpsv: <https://data.wikitrek.org/prop/statement/value/>
PREFIX dtkpsn: <https://data.wikitrek.org/prop/statement/value-normalized/>
PREFIX dtkpq: <https://data.wikitrek.org/prop/qualifier/>
PREFIX dtkpqv: <https://data.wikitrek.org/prop/qualifier/value/>
PREFIX dtkpqn: <https://data.wikitrek.org/prop/qualifier/value-normalized/>
PREFIX dtkpr: <https://data.wikitrek.org/prop/reference/>
PREFIX dtkprv: <https://data.wikitrek.org/prop/reference/value/>
PREFIX dtkprn: <https://data.wikitrek.org/prop/reference/value-normalized/>
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
PREFIX dtktn: <https://data.wikitrek.org/prop/direct-normalized/>
PREFIX dtkno: <https://data.wikitrek.org/prop/novalue/>
SELECT ?episode ?episodeLabel ?publication ?production ?sitelink WHERE {
?episode dtkt:P14 dtk:Q10317;
dtkt:P101 ?publication;
dtkt:P1 ?production.
# Get the sitelinks for these items
?sitelink schema:about ?episode ;
schema:isPartOf ?site;
schema:name ?title;
schema:inLanguage ?language .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ASC (?production)
Sitelinks esperimento
Esperimento con Sitelinks.
PREFIX dtkt: <https://data.wikitrek.org/prop/direct/>
SELECT ?item ?itemLabel
(GROUP_CONCAT(DISTINCT ?deMA; separator=", ") AS ?deMA_list)
(GROUP_CONCAT(DISTINCT ?deMB; separator=", ") AS ?deMB_list)
(GROUP_CONCAT(DISTINCT ?sitelink; separator=", ") AS ?sitelink_list)
WHERE {
?item dtkt:P14 ?type.
?sitelink schema:about ?item;
schema:isPartOf ?site;
schema:name ?title;
schema:inLanguage ?language.
FILTER(CONTAINS(LCASE(STR(?sitelink)), "memory"))
BIND(IF(CONTAINS(STR(?sitelink), "alpha.fandom.com/de/"), ?sitelink, "") AS ?deMA)
BIND(IF(CONTAINS(STR(?sitelink), "beta.fandom.com/de/"), ?sitelink, "") AS ?deMB)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
GROUP BY ?item ?itemLabel
LIMIT 100
Oggetti
Pianeti e sistemi dell'Impero Romulano
#Episodi di Lower Decks
PREFIX wd: <https://data.wikitrek.org/entity/>
PREFIX wdt: <https://data.wikitrek.org/prop/direct/>
SELECT ?planet ?planetLabel WHERE {
?planet wdt:P40 wd:Q11008;
wdt:P14 wd:Q102 UNION wdt:P14 wd:Q95
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ASC (?planet)