X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=bibframe%2Ftriplestore.xml;h=72c98e7b376049b4260df2cf546d8e2dbc026c99;hb=39809dcbb979cbf8e462a035e798b26a2372315e;hp=dcfbc93bc4c24b3acb76cf82eb60d44890e05770;hpb=3b8f82551458bf8243c7ed12743516e9e480e6fd;p=mp-sparql-moved-to-github.git diff --git a/bibframe/triplestore.xml b/bibframe/triplestore.xml index dcfbc93..72c98e7 100644 --- a/bibframe/triplestore.xml +++ b/bibframe/triplestore.xml @@ -1,65 +1,318 @@ + + + + + + + +]> + - + + + + + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns bf: http://bibframe.org/vocab/ -
SELECT - ?work - MAX(?wtitle) AS ?title - MAX(?creatorlabel) AS ?creator - MAX(?subjectlabel) AS ?subject -
+
SELECT DISTINCT ?work
?work a bf:Work - OPTIONAL { + + ?work a bf:Work FILTER( ?work = %u ) + + + + ?work bf:workTitle ?wt . + ?wt bf:titleValue %v FILTER(contains(%v, %s)) + + + ?work bf:workTitle ?wt . + ?wt bf:subtitle %v FILTER(contains(%v, %s)) + + + ?work bf:workTitle ?wt . - ?wt bf:titleValue ?wtitle } - - OPTIONAL { - ?work bf:creator ?creator . - ?creator bf:label ?creatorlabel } - - OPTIONAL { - ?work bf:subject ?subject . - ?subject bf:label ?subjectlabel } - - ?wt bf:titleValue %v FILTER(contains(%v, %s)) - ?creator bf:label %v FILTER(contains(%v, %s)) - ?subject bf:label %v FILTER(contains(%v, %s)) - { - ?work ?op1 ?child . - ?child ?op2 ?val FILTER(contains(STR(?val), %s)) + ?wt bf:partTitle %v FILTER(contains(%v, %s)) + + + + + ?work bf:titleVariation ?tv . + ?tv bf:titleValue %v FILTER(contains(%v, %s)) + + + + + ?inst bf:instanceOf ?work . + ?inst bf:instanceTitle ?it . + ?it bf:titleValue %v FILTER(contains(%v, %s)) + + + + + { ?work bf:workTitle ?wt . + { ?wt bf:titleValue %v FILTER(contains(%v, %s)) } UNION + { ?wt bf:subtitle %v FILTER(contains(%v, %s)) } UNION + { ?wt bf:partTitle %v FILTER(contains(%v, %s)) } + } UNION { + ?work bf:titleVariation ?tv . + ?tv bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + ?inst bf:instanceOf ?work . + ?inst bf:instanceTitle ?it . + ?it bf:titleValue %v FILTER(contains(%v, %s)) } - GROUP BY $work -
- - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns - bf: http://bibframe.org/vocab/ -
CONSTRUCT { ?work bf:title ?title . ?work bf:author ?creator . ?work bf:instanceTitle ?it }
- ?work a bf:Work - ?work bf:workTitle ?wt - ?wt bf:titleValue ?wtitle - ?wt bf:titleValue %v FILTER(contains(%v, %s)) - ?work bf:creator ?creator - ?creator bf:label ?creatorlabel - ?creator bf:label %v FILTER(contains(%v, %s)) - ?work bf:subject ?subject - ?subject bf:label ?subjectlabel - ?subject bf:label %v FILTER(contains(%v, %s)) + + + ?work bf:creator ?c . + ?c bf:label %v FILTER(contains(%v, %s)) + + + + ?work bf:contributor ?c . + ?c bf:label %v FILTER(contains(%v, %s)) + + + + ?work bf:subject ?subject . + ?subject bf:label %v FILTER(contains(%v, %s)) + + + + + CONSTRUCT { ?work ?rel ?subj } + WHERE { + ?work a bf:Work . + ?work ?rel ?subj . + ?work ?rel ?obj FILTER( str(?work) = %s ) + } + + + + + CONSTRUCT { ?work ?rel ?obj . + ?obj ?rel1 ?obj1 . + ?obj1 ?rel2 ?obj2 . + ?obj2 ?rel3 ?obj3 } + WHERE { + ?work a bf:Work . + ?work ?rel ?obj . + OPTIONAL { + ?obj ?rel1 ?obj1 + MINUS { ?obj a bf:Work } + } + OPTIONAL { + ?obj1 ?rel2 ?obj2 + MINUS { ?obj1 a bf:Work } + } + OPTIONAL { + ?obj2 ?rel3 ?obj3 + MINUS { ?obj2 a bf:Work } + } + ?work ?rel ?obj FILTER( str(?work) = %s ) + } + + + + + CONSTRUCT { %u ?rel ?wobj1 . + ?wobj1 ?wrel1 ?wobj2 . + ?wobj2 ?wrel2 ?wobj3 . + ?inst ?irel1 ?iobj1 . + ?iobj1 ?irel2 ?iobj2 . + ?iobj2 ?irel3 ?iobj3 } + WHERE { + %u a bf:Work . + %u ?rel ?wobj1 . + OPTIONAL { + ?inst bf:instanceOf %u + } + &workfull; + OPTIONAL { + ?wobj ?wrel1 ?wobj1 + MINUS { ?wobj a bf:Work } + MINUS { ?wobj a bf:Instance } + } + OPTIONAL { + ?wobj1 ?wrel2 ?wobj2 + MINUS { ?wobj1 a bf:Work } + MINUS { ?wobj1 a bf:Instance } + } + OPTIONAL { + ?wobj2 ?wrel3 ?wobj3 + MINUS { ?wobj2 a bf:Work } + MINUS { ?wobj2 a bf:Instance } + } + + OPTIONAL { + ?inst ?irel1 ?iobj1 + } + OPTIONAL { + ?iobj1 ?irel2 ?iobj2 + } + OPTIONAL { + ?iobj2 ?irel3 ?iobj3 + } + + } +
- + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns bf: http://bibframe.org/vocab/ -
SELECT DISTINCT ?instance ?title ?format
+
SELECT ?instance ?title ?format
?instance a bf:Instance - ?instance bf:title ?title ?instance bf:title %v FILTER(contains(%v, %s)) ?instance bf:format ?format ?instance bf:format %s +
+ + + + + + + + + + ?thing bf:label %v FILTER(contains(%v, %s)) + ?thing bf:label %v FILTER(contains(%v, %s)) + + + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns + bf: http://bibframe.org/vocab/ +
SELECT DISTINCT ?thing
+ ?thing ?rel ?obj + + CONSTRUCT { %u ?rel ?obj } + WHERE { + %u ?rel ?obj . + } + + + + + CONSTRUCT { %u ?rel ?obj . + ?obj ?rel1 ?obj1 . + } + WHERE { + %u ?rel ?obj . + OPTIONAL { ?obj ?rel1 ?obj1 } + } + +
+ + + + ?thing a bf:Place + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Person + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Meeting + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Agent + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Event + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Organization + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing a bf:Topic + ?thing bf:label %v FILTER(contains(%v, %s)) + + + + + ?thing a bf:Title + + { ?thing bf:titleValue %v FILTER(contains(%v, %s)) } UNION + { ?thing bf:subtitle %v FILTER(contains(%v, %s)) } UNION + { ?thing bf:partTitle %v FILTER(contains(%v, %s)) } + + + { ?thing bf:titleValue %v FILTER(contains(%v, %s)) } UNION + { ?thing bf:subtitle %v FILTER(contains(%v, %s)) } UNION + { ?thing bf:partTitle %v FILTER(contains(%v, %s)) } + + ?thing bf:titleValue %v FILTER(contains(%v, %s)) + ?thing bf:subtitle %v FILTER(contains(%v, %s)) + ?thing bf:partTitle %v FILTER(contains(%v, %s)) + + + + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns + bf: http://bibframe.org/vocab/ +
SELECT ?node ?rel ?obj
+ ?node ?rel ?obj FILTER( str(?node) = %s ) +
+ + + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns + bf: http://bibframe.org/vocab/ +
SELECT ?node ?rel ?obj
+ ?node ?rel ?obj FILTER( str(?obj) = %s )