Page History
Alla on listattu SPARQL-kyselyitä yleisimpiin hakuihin sekä vinkkejä haun mukauttamiseen.
Haut on tehty esimerkkien avulla. Korvaa esimerkkien merkkijonot omilla merkkijonoillasi.
Info |
---|
YSO-haku Fintosta: SELECT * |
Table of Contents |
---|
Hakuja käsitteen labeliin
Etukatkaisu prefLabelista
Haetaan siirto-loppuisia käsitteitä (*siirto)
SELECT *
WHERE {
?subject skos:prefLabel ?label .
FILTER (regex(?label, "siirto$"))
}
Loppukatkaisu mistä tahansa ruotsinkielisestä termistä
Etsitään katt-alkuisia ruotsinkielisiä termejä
SELECT *
WHERE {
?s ?p ?o .
FILTER(lang(?o) = "sv")
FILTER (regex(?o, "^katt"))
}
Missä tahansa kohdassa prefLabelia
Haetaan termejä, jotka sisältävät merkkijonon "kirja" missä tahansa kohdassa termiä
SELECT *
WHERE {
?subject skos:prefLabel ?label .
FILTER (regex(?label, "kirja"))
}
Missä tahansa kohdassa ruotsinkielisiä labeleita
Etsitään katt-merkkijonon sisälviä ruotsinkielisiä termejä
SELECT *
WHERE {
?s ?p ?o .
FILTER(lang(?o) = "sv")
FILTER (regex(?o, "katt"))
}
Hae kaikki suomenkieliset oldLabelit.
SELECT *
WHERE {
?subject yso-meta:oldLabel ?label .
FILTER(LANGMATCHES(LANG(?label), "fi"))
}
Ruotsinkieliset sulkuja sisältävät prefLabelit
Hakee kaikki prefLabelit, joissa on (-merkki ja ne ovat ruotsiksi
SELECT ?conc ?label
WHERE {
?conc skos:prefLabel ?label .
FILTER (langMatches(lang(?label), "sv"))
FILTER (regex(?label, '\\('))
}
Käsitteet, joissa suomenkielinen prefLabel on asiasanaketju
#SELECT count(?conc)
SELECT str(?conc) ?label
WHERE {
?conc skos:prefLabel ?label .
FILTER (langMatches(lang(?label), "fi"))
FILTER (regex(?label, '--'))
}
Ei kieltä labelissa
Hae kaikki oldLabelit, joille ei ole määritelty kieltä
SELECT *
WHERE {
?subject yso-meta:oldLabel ?label .
FILTER(LANG(?label) = "")
}
Useampi peräkkäinen välilyönti labelissa
Listaa labelit, joissa on useampi peräkkäinen välilyönti
SELECT ?s ?p ?o
#SELECT count(?s)
WHERE {
?s ?p ?o .
# Jätä kommentoimatta, jos haluat vain tietyntyyppisiä käsitteitä
# ?s a kauno:Concept .
FILTER( regex(?o, " "))
}
Käsitteet, jotka alkavat isolla alkukirjaimella
SELECT ?label
WHERE {
?conc skos:prefLabel ?label .
FILTER (langMatches(lang(?label), "fi"))
FILTER (regex(?label, "^[A-ZÄÖ]"))
}
Kaikki käsitteet tiettyyn aakkosjärjestyksen kohtaan asti
SELECT ?sub ?obj
WHERE
{
{
?sub skos:prefLabel ?obj .
filter regex(?obj,"[^\\x00-\\x7F]+") .
filter ( !contains(lcase(?obj), "ä") ) .
filter ( !contains(lcase(?obj), "ö") ) .
filter ( !contains(lcase(?obj), "å") )
}
UNION
{
?sub skos:altLabel ?obj .
filter regex(?obj,"[^\\x00-\\x7F]+")
filter ( !contains(lcase(?obj), "ä") ) .
filter ( !contains(lcase(?obj), "ö") ) .
filter ( !contains(lcase(?obj), "å") )
}
}
Kahdella käsitteellä sama prefLabel englannissa
Käsitteet, joilla ei ole englanninkielistä termiä
Toimii erotettujen kielilabelien kanssa
#SELECT (count(?concept) as ?count)
SELECT * WHERE {
?concept skos:prefLabel ?plfi .
FILTER(lang(?plfi) = "fi")
MINUS{
?concept skos:prefLabel ?plen . FILTER(lang(?plen) = "en")
}
}
Muita hakuja
Kommentteihin kohdistuva haku
Haetaan käsitteitä, joilla on kommentti.
SELECT *
WHERE {
?subject rdfs:comment ?comment .
}
Pienellä kirjaimella alkavat kommentit
Haetaan kaikki kommentit, jotka alkavat pienellä kirjaimella
SELECT * WHERE {
?sub rdfs:comment ?obj .
FILTER(REGEX(STR(?obj), "^[a-zäö]"))
}
Comment- tai YsaComment-kentässä "vuodesta" tai "vuoteen"
SELECT *
#SELECT count(?l)
WHERE {
{
?s yso-meta:ysaComment ?l .
FILTER(regex(lcase(?l), "vuodesta|vuoteen"))
}
UNION
{
?s rdfs:comment ?l .
FILTER(regex(lcase(?l), "vuodesta|vuoteen"))
}
}
Haku tietyn URIn perusteella
Huom! Dollarimerkki ei ole osa URIa, mutta on tärkeä lisätä URIn perään.
SELECT *
WHERE {
?subject a ysometa:Concept .
FILTER regex(str(?subject), "^http://www.yso.fi/onto/yso/p30149$") .
}
Rajaus URIn / nimiavaruuden perusteella (strstarts)
Etsi ne YSO-käsitteet, joilla on sulkutarkenne sekä exactmatch-suhde YSAan. Rajaus tehty YSA-nimiavaruudella.
PREFIX yso: <http://www.yso.fi/onto/yso-meta/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ysa: <http://www.yso.fi/onto/ysa/>
SELECT *
WHERE {
SERVICE <http://api.finto.fi/sparql> {
GRAPH <http://www.yso.fi/onto/yso/> {
?ysoconcept skos:prefLabel ?label .
?ysoconcept a yso:Concept .
FILTER (lang(?label) = 'fi')
FILTER (regex(?label, '\\('))
?ysoconcept skos:exactMatch ?ysa .
FILTER (strstarts(str(?ysa), str(ysa:)))
}
}
}
Vaihtoehtojen esittäminen kyselyssä: jokin näistä yläkäsitteistä
Hae sellaiset JUHO-käsitteet, jotka eivät ole ekvivalentteja jonkin YSO-käsitteen kanssa ja joiden yläkäsitteenä on jokin FILTER-lausekkeessa luetelluista YSO-käsitteistä (käsitteet sisältyvät YSOn toiminta-hierarkiaan). Huom! Kysely tehty Yasguissa.
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
#SELECT (count(?sub) as ?count)
SELECT ?label
(GROUP_CONCAT(?ylalabel) as ?ylakasitteet)
WHERE {
GRAPH <http://www.yso.fi/onto/afo/>
{
?sub a <http://www.yso.fi/onto/afo-meta/Concept> .
?sub skos:broader ?ylakasite .
FILTER (
?ylakasite = <http://www.yso.fi/onto/yso/p3027> ||
?ylakasite = <http://www.yso.fi/onto/yso/p14> ||
?ylakasite = <http://www.yso.fi/onto/yso/p5192> ||
?ylakasite = <http://www.yso.fi/onto/yso/p5427> ||
?ylakasite = <http://www.yso.fi/onto/yso/p649> ||
?ylakasite = <http://www.yso.fi/onto/yso/p6561> ||
?ylakasite = <http://www.yso.fi/onto/yso/p317> ||
?ylakasite = <http://www.yso.fi/onto/yso/p15232> ||
?ylakasite = <http://www.yso.fi/onto/yso/p4389> ||
?ylakasite = <http://www.yso.fi/onto/yso/p464> ||
?ylakasite = <http://www.yso.fi/onto/yso/p1452> ||
?ylakasite = <http://www.yso.fi/onto/yso/p2697> ||
?ylakasite = <http://www.yso.fi/onto/yso/p5637> ||
?ylakasite = <http://www.yso.fi/onto/yso/p1744> ||
?ylakasite = <http://www.yso.fi/onto/yso/p193> ||
?ylakasite = <http://www.yso.fi/onto/yso/p2375> ||
?ylakasite = <http://www.yso.fi/onto/yso/p976> ||
?ylakasite = <http://www.yso.fi/onto/yso/p889> ||
?ylakasite = <http://www.yso.fi/onto/yso/p5440> ||
?ylakasite = <http://www.yso.fi/onto/yso/p355> ||
?ylakasite = <http://www.yso.fi/onto/yso/p721> ||
?ylakasite = <http://www.yso.fi/onto/yso/p42> ||
?ylakasite = <http://www.yso.fi/onto/yso/p277> ||
?ylakasite = <http://www.yso.fi/onto/yso/p1945> ||
?ylakasite = <http://www.yso.fi/onto/yso/p2715> ||
?ylakasite = <http://www.yso.fi/onto/yso/p2954>
)
FILTER NOT EXISTS {
?sub skos:exactMatch ?obj .
}
OPTIONAL {
?sub skos:prefLabel ?label .
FILTER(LANGMATCHES(LANG(?label), "fi"))
}
OPTIONAL {
?ylakasite skos:prefLabel ?ylalabel .
FILTER(LANGMATCHES(LANG(?ylalabel), "fi"))
}
}
}
GROUP BY ?label ?ylakasitteet
Vaihtoehtojen esittäminen kyselyssä, versio 2: VALUES-toiminto
PTO-ontologiassa on useita käsitetyyppejä. Hae kaikki PTO-käsitteet, jotka kuuluvat toimintahierarkian alle.
PREFIX inspire: <http://paikkatiedot.fi/def/1001000/InspireConcept> PREFIX paikhak: <http://paikkatiedot.fi/def/1001000/PaikhakConcept> PREFIX tsk: <http:paikkatiedot.fi/def/1001000/TskConcept> PREFIX ryhma: <http://paikkatiedot.fi/def/1001000/InspireThematicGroup> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> #SELECT (count(?sub) as ?count) SELECT ?label (GROUP_CONCAT(?ylalabel) as ?ylakasitteet) WHERE { GRAPH <http://www.yso.fi/onto/pto/> { ?sub a ?allowed . VALUES ?allowed { inspire: paikhak: tsk: ryhma: } ?sub skos:broader+ <http://www.yso.fi/onto/yso/p8090> . ?sub skos:broader ?ylakasite . } ?sub skos:prefLabel ?label . FILTER(LANGMATCHES(LANG(?label), "fi")) OPTIONAL { ?sub skos:broader ?ylakasite . ?ylakasite skos:prefLabel ?ylalabel . FILTER(LANGMATCHES(LANG(?ylalabel), "fi")) } } GROUP BY ?label ?ylakasitteet LIMIT 10000
Eri kieliversioiden esittäminen rinnakkain taulukkona
Tällä haulla saa kätevästi esitettyä samalla rivillä taulukossa YSO:n käsitteitä suomeksi, ruotsiksi ja englanniksi. Hakua on kätevä muokata rivillä 8 olevan säännöllisen lausekkeen avulla.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT * WHERE {
?concept skos:prefLabel ?plfi .
FILTER regex(str(?concept), "^http://www.yso.fi/onto/yso/") .
FILTER(lang(?plfi) = "fi")
FILTER (regex(?plfi, "^[Aa]"))
OPTIONAL{
?concept skos:prefLabel ?plen . FILTER(lang(?plen) = "en")
}
OPTIONAL{
?concept skos:prefLabel ?plsv . FILTER(lang(?plsv) = "sv")
}
}
LIMIT 100
Hae Wikidatasta YSO-ID propertyllä merkityt käsitteet
#tee tämä haku Wikdatan Queryssä
SELECT *
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
OPTIONAL { ?item wdt:P2347 ?YSO_tunniste. }
?item rdfs:label ?label_se filter (lang(?label_se) = "se").
?item rdfs:label ?label_fi filter (lang(?label_fi) = "fi").
# ?item rdfs:label ?label_sv filter (lang(?label_sv) = "sv").
# ?item rdfs:label ?label_en filter (lang(?label_en) = "en").
}
LIMIT 10
YSOon liittyviä hakuja
YSO-käsitteet, jotka löytyvät YSAsta
Listaa kaikki YSO-käsitteet, jotka perustuvat johonkin YSA-asiasanaan
SELECT *
WHERE {
?subject om:definedConcept ?object .
FILTER regex(str(?object), "^http://www.yso.fi/onto/ysa/") .
}
YSO-käsitteet, jotka eivät löydy YSAsta
YSO-käsitteet, joille ei ole määritelty vastaavaa asiasanaa YSAsta
SELECT *
WHERE {
?subject a <http://www.yso.fi/onto/yso-meta/2007-03-02/Concept>.
FILTER NOT EXISTS {?subject om:definedConcept ?object
FILTER regex(str(?object), "^http://www.yso.fi/onto/ysa/").
}
}
YSO-käsitteet, joilla closeMatch-suhde
SELECT ?s ?map
WHERE {
?subject <http://www.yso.fi/onto/yso-peilaus/2007-03-02/closeMatch> ?map .
?subject skos:prefLabel ?s
FILTER(LANG(?s) = "fi")
}
Haku aikaleiman perusteella
Hae kaikki käsitteet, jotka on luotu 1.1.2015 jälkeen.
SELECT *
WHERE {
?subject dcterms:created ?date .
FILTER (?date > "2015-01-01"^^xsd:date)
}
YSO-käsitteet, joilla sulkutarkenne ja myös singularPrefLabel
PREFIX ysometa: <http://www.yso.fi/onto/yso-meta/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?subject
WHERE {
?subject ysometa:singularPrefLabel ?yksikko .
FILTER(LANGMATCHES(LANG(?yksikko), "fi"))
?subject skos:prefLabel ?pref .
FILTER(LANGMATCHES(LANG(?pref), "fi"))
FILTER (regex(?pref, '\\('))
}
YSO-käsitteet, joilla sulkutarkenne ja skos:exactMatch YSAan
Vertaillaan labeleita kahdesta eri graafista
PREFIX yso: <http://www.yso.fi/onto/yso-meta/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
WHERE {
SERVICE <http://api.finto.fi/sparql> {
GRAPH <http://www.yso.fi/onto/yso/> {
?ysoconcept skos:prefLabel ?label .
?ysoconcept a yso:Concept .
FILTER (lang(?label) = 'fi')
FILTER (regex(?label, '\\('))
?ysoconcept skos:exactMatch ?ysa .
}
}
GRAPH <http://www.yso.fi/onto/ysa/> {
?ysa skos:prefLabel ?ysalabel .
FILTER (lang(?ysalabel) = 'fi')
FILTER NOT EXISTS { FILTER (regex(?ysalabel, '\\(')) }
}
}
YSO-käsitteet, joiden linkin kohteessa on html
Etsi käsitteet, joilla on close/broader/narrower match linkki kohteeseen, jonka tunnisteessa on html. (LCSH-linkit pitäisi tehdä käyttäen käsitteen pysyvää URIa, ei käsitteen html-sivua.)
SELECT ?subject ?object
WHERE {
?subject a ?allowed .
VALUES ?allowed { ysometa:Concept ysometa:Individual }
?subject ?match ?object .
VALUES ?match { skos:closeMatch skos:broadMatch skos:narrowMatch }
FILTER regex(str(?object), "html")
}
Erikoistuneempia
Hae x, mutta älä hae y:tä (ts. hae kaikki tällaiset PAITSI ei tuollaisia)
Hae kaikki preflabelit, joissa on sulkumerkki, mutta ei "kooste"-sanaa)
SELECT ?conc ?label
WHERE {
?conc skos:prefLabel ?label .
FILTER (langMatches(lang(?label), "fi"))
FILTER (regex(?label, '\\('))
FILTER NOT EXISTS
{
FILTER(regex(?label, 'kooste'))
}
}
Hae alakäsitteet ja alakäsitteiden alakäsitteet
Hae kaikki muuttaminen-käsitteen alakäsitteet ja niiden alakäsitteet ja niiden alakäsitteet ja niiden alakäsitteet ad infinitum. Huom! Plusmerkki on tärkeä! Ja ilmoita kunkin käsitteen YSA-ryhmä jos sellainen on.
SELECT *
WHERE {
?subject rdfs:subClassOf+ <http://www.yso.fi/onto/yso/p19378> .
OPTIONAL{?subject yso-meta:hasThematicGroup ?g .}
}
Ei samaa käsitettä tuplana kyselytuloksiin
SPARQL-kyselyillä saattaa tulla sama käsite useaan kertaan tuloslistaukseen, mikäli käsitteellä on useita arvoja jossakin kentässä. Nämä saa niputettua yhteen ja kyselytuloksen helpommin luettavaksi GROUP_CONCAT-toiminnolla. Esimerkissä on haettu käsitteitä, joiden oldlabelissa esiintyy "matka". Ilman GROUP_CONCAT-toimintoa tuloksiin olisi tullut tuplia, sillä joillakin käsitteillä on useampi kuin yksi oldlabel, jossa esiintyy "matka".
SELECT ?subject
(GROUP_CONCAT(?old) as ?oldlabelit)
WHERE {
?subject ysometa:oldLabel ?old .
FILTER (langMatches(lang(?old), "fi"))
FILTER (regex(?old, 'matka'))
}
GROUP BY ?subject ?oldlabelit
Erikoisontologiat
SPARQL-kyselyjen tekeminen Yasguissa
Ontologian ekvivalentit käsitteet
Ontologiaeditorin lisäksi SPARQL-kyselyjä voi tehdä myös verkossa yasgui.org-osoitteessa.
- Mene https://yasgui.triply.cc/-osoitteeseen
- Kirjoita alasvetovalikkoon osoite "http://api.dev.finto.fi/sparql"
- Lisää SPARQL-kyselyyn WHEREn perään rivi GRAPH <http://www.yso.fi/onto/tao/> (tai muu ontologia) (ks kuva)
- Tee haluamasi kysely
Tässä esimerkkikysely (hakee kaikki tao-ontologian käsitteet, joilla on exachmatch-suhde):
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
#SELECT (count(?sub) as ?count)
SELECT ?sub
WHERE {
GRAPH <http://www.yso.fi/onto/tao/> {
?sub skos:exactMatch ?obj .
?sub a <http://www.yso.fi/onto/tao-meta/Concept> .
}
}
LIMIT 10000
Ekvivalenssi, mutta ei samoja labeleita
JUPO-käsitteet, joilla on ekvivalenssi YSO-käsitteeseen, mutta joiden prefLabelit eivät ole samat
PREFIX jupometa: <http://www.yso.fi/onto/jupo-meta/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
#SELECT str(?jupoconcept) ?jupolabel str(?ysoconcept) ?ysolabel
WHERE {
# käväistään Finton SPARQL endpointin puolella...
SERVICE <http://api.finto.fi/sparql> {
# JUPOsta ekvivalenssiyhteys ja prefLabel
GRAPH <http://www.yso.fi/onto/jupo/> {
?jupoconcept skos:prefLabel ?jupolabel .
?jupoconcept a jupometa:Concept .
FILTER (lang(?jupolabel) = 'fi')
?jupoconcept skos:exactMatch ?ysoconcept .
}
# haetaan YSOsta käsitteen tuorein prefLabel
GRAPH <http://www.yso.fi/onto/yso/> {
?ysoconcept skos:prefLabel ?ysolabel .
FILTER (lang(?ysolabel) = 'fi')
}
}
FILTER(?jupolabel != ?ysolabel)
}
Sama label, mutta ei ekvivalenssiyhteyttä
JUPOn ja YSOn käsitteillä on sama prefLabel, mutta näiden käsitteiden välillä ei ole ekvivalenssiyhteyttä
PREFIX jupometa: <http://www.yso.fi/onto/jupo-meta/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
#SELECT str(?jupoconcept) str(?ysoconcept) ?label
WHERE {
# käväistään Finton SPARQL endpointin puolella...
SERVICE <http://api.finto.fi/sparql> {
# JUPOsta prefLabel
GRAPH <http://www.yso.fi/onto/jupo/> {
?jupoconcept skos:prefLabel ?label .
?jupoconcept a jupometa:Concept .
FILTER (lang(?label) = 'fi')
# Ei ekvivalenssiyhteyttä YSOn ja JUPOn käsitteen välillä
NOT EXISTS{ ?jupoconcept skos:exactMatch ?ysoconcept .}
}
# haetaan YSOsta samalabelinen käsite
GRAPH <http://www.yso.fi/onto/yso/> {
?ysoconcept skos:prefLabel ?label .
}
}
}
Erikoisontologian altlabel sama kuin YSOn preflabel
Etsi PUHOsta käsitteet, joiden altlabel on sama kuin jonkin YSO-käsitteen preflabel ilman, että näillä on ekvivalenssisuhdetta.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?puhopref ?puhoalt ?ysok
WHERE {
GRAPH <http://www.yso.fi/onto/puho/> {
?sub a <http://www.yso.fi/onto/puho-meta/Concept> .
?sub skos:prefLabel ?puhopref .
?sub skos:altLabel ?puhoalt .
FILTER(lang(?puhoalt) = "fi")
?ysok skos:prefLabel ?puhoalt .
FILTER NOT EXISTS { ?sub skos:exactMatch ?ysok }
}
}
Toimintoja
Haun lisäksi SPARQL-kielellä voi myös suorittaa erilaisia muokkaustoimenpiteitä käsitteille.
Siirrä kaikki tietyn tyyppiset käsitteet yhden käsitteen alle
Siirtää kaikki kauno-käsitteet ylimääräisen käsitteen alle
INSERT{
?s rdfs:subClassOf kauno:kauno-kasitteet .
}
#SELECT *
WHERE {
?s a kauno:Concept .
}
Käsitteiden poistaminen tietyn yläkäsitteen alta
Poistaa ongelmat-käsitteen alta kaikki siellä olevat käsitteet. Huom! SPARQL ei poista itse käsitteitä vaan vain niiden yläkäsitesuhteen.
DELETE{
?s rdfs:subClassOf ongelmat .
}
WHERE {
?s rdfs:subClassOf ongelmat .
}
Kopioi kaikki sisältö yhdestä ominaisuuskentästä toiseen
Kopioidaan JUHO-ontologian juho-meta:ysoSvAlt-kentästä kaikki sisältö skos:altlabel-kenttään.
INSERT {
?subject skos:altLabel ?oo }
WHERE {
?subject a juho-meta:Concept.
?subject juho-meta:ysoSvAlt ?oo .
}
Kielikoodin lisääminen kommentille
Lisää kaikille niille kommenteille, joista puuttuu kielikoodi, kieleksi suomi.
INSERT {
?s rdfs:comment ?oo }
WHERE {
?s yso-meta:ysaComment ?o
BIND( strlang(?o, "fi") AS ?oo)
}
Uuden YSO-käsitteen luonti TBC:ssä
Luo uuden yleikäsitteen YSOon, jonka suomenkielinen preflabel on "UUSI KÄSITE". Mikäli luodaan yksilökäsite, hierarkisoiva käsite tai ryhmittelevä käsite, käsitetyyppi pitää vaihtaa tämän SPARQL:n jälkeen.
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX yso: <http://www.yso.fi/onto/yso/>
PREFIX yso-update: <http://www.yso.fi/onto/yso-update/>
PREFIX yso-meta: <http://www.yso.fi/onto/yso-meta/>
INSERT {
?uusi rdf:type skos:Concept, owl:Class, yso-meta:Concept;
skos:prefLabel 'UUSI KÄSITE'@fi ;
dct:created ?now ;
rdfs:subClassOf yso-update:uudet, yso-update:uudetSv, yso-update:uudetEn .
} WHERE {
BIND( IRI(CONCAT(str(yso:),struuid())) as ?uusi )
BIND( xsd:date(SUBSTR( xsd:string(now()), 0, 11)) as ?now )
}