X-Git-Url: http://git.indexdata.com/?p=mp-sparql-moved-to-github.git;a=blobdiff_plain;f=bibframe%2Ftriplestore.xml;h=12af0ddd0b5b860ba919f9966f80fa47ab7ac892;hp=f227102a1ebe8239fb752b663ed95aac61cc9266;hb=62b3dd7a591f31846e92bb74f4a99b436fae1f1f;hpb=0e7a5eeb3ab16f7a94d2ae3a331c6dd8421f8424 diff --git a/bibframe/triplestore.xml b/bibframe/triplestore.xml index f227102..12af0dd 100644 --- a/bibframe/triplestore.xml +++ b/bibframe/triplestore.xml @@ -1,78 +1,621 @@ + + + + - - - - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns - bf: http://bibframe.org/vocab/ -
SELECT - ?work - (sql:GROUP_DIGEST (?wtitle, ' ; ', 1000, 1)) AS ?title - (sql:GROUP_DIGEST (?creatorlabel, ' ; ', 1000, 1))AS ?creator - (sql:GROUP_DIGEST (?subjectlabel, ' ; ', 1000, 1))AS ?subject -
- ?work a bf:Work - - OPTIONAL { - ?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 %v FILTER(contains(STR(%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 ?wtitle . - ?work bf:instanceTitle ?title . - ?work bf:author ?creator . - ?work bf:subject ?subjectlabel } -
- ?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)) -
- - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns - bf: http://bibframe.org/vocab/ -
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 - -
-
- - http - - - - true - + + + + + + + + + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns + bf: http://bibframe.org/vocab/ +
SELECT DISTINCT ?thing
+ + + + + + ?thing %v_rel %v_obj FILTER( ?thing = %u ) + + + + + + ?thing a %t + + + + + + + ?thing %v_rel %u + + + + + + + CONSTRUCT { + %u ?rel ?subj + } + WHERE { + %u ?rel ?subj . + } + + +
+ + + + + + + + + + + + ?thing ?rel %vx . + %vx a bf:Person . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Topic . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Place . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Agent . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Meeting . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Organization . + %vx bf:label %v FILTER(contains(%v, %s)) + + + ?thing ?rel %vx . + %vx a bf:Event . + %vx bf:label %v FILTER(contains(%v, %s)) + + + + + + + + + ?thing a bf:Work + + + + + + + + ?thing bf:title %v FILTER(contains(%v, %s)) + + + + + + ?thing bf:workTitle %v_wt . + %v_wt bf:titleValue %v FILTER(contains(%v, %s)) + + + + + + + { + ?thing bf:workTitle %v_wt . + %v_wt bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:title %v FILTER(contains(%v, %s)) + } + + + + + ?thing bf:workTitle %v_wt . + %v_wt bf:subtitle %v FILTER(contains(%v, %s)) + + + + ?thing bf:workTitle %v_wt . + %v_wt bf:partTitle %v FILTER(contains(%v, %s)) + + + + + ?thing bf:titleVariation %v_tv . + %v_tv bf:titleValue %v FILTER(contains(%v, %s)) + + + + + %v_inst bf:instanceOf ?thing . + %v_inst bf:instanceTitle %v_tit . + %v_tit bf:titleValue %v FILTER(contains(%v, %s)) + + + + + { + ?thing bf:title %v FILTER(contains(%v, %s)) + } UNION { + ?thing ?titlerel %v_ti . + %v_ti a bf:Title + { + %v_ti bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + %v_ti bf:partTitle %v FILTER(contains(%v, %s)) + } UNION { + %v_ti bf:subtitle %v FILTER(contains(%v, %s)) + } + } UNION { + %v_inst bf:instanceOf ?thing . + %v_inst bf:instanceTitle %v_ti . + %v_ti bf:titleValue %v FILTER(contains(%v, %s)) + } + + + + + ?thing bf:creator %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) + + + + ?thing bf:contributor %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) + + + + { + ?thing bf:creator %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:contributor %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) + } + + + + + + + ?thing bf:subject %v_su . + %v_su bf:label %v FILTER(contains(%v, %s)) + + + + + + ?thing bf:contentCategory %u + + + + + %v_inst bf:instanceOf ?thing FILTER ( %v_inst = %u) + + + + + + + CONSTRUCT { + %u ?wrel1 ?wobj1 . + ?wobj1 ?wrel2 ?wobj2 . + ?wobj2 ?wrel3 ?wobj3 . + ?inst ?irel1 ?iobj1 . + ?iobj1 ?irel2 ?iobj2 . + ?iobj2 ?irel3 ?iobj3 + } + WHERE { + %u a bf:Work . + %u ?wrel1 ?wobj1 . + + 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 bf:instanceOf %u . + ?inst ?irel1 ?iobj1 + OPTIONAL { + ?iobj1 ?irel2 ?iobj2 + MINUS { ?iobj1 a bf:Work } + MINUS { ?iobj1 a bf:Instance } + OPTIONAL { + ?iobj2 ?irel3 ?iobj3 + MINUS { ?iobj2 a bf:Work } + MINUS { ?iobj2 a bf:Instance } + } + } + } + } + + + + + + + ?thing a bf:Instance + + + + + + + ?thing bf:title %v FILTER(contains(%v, %s)) + + + + + ?thing bf:instanceTitle %v_it . + %v_it bf:titleValue %v FILTER(contains(%v, %s)) + + + + ?thing bf:titleStatement %v FILTER(contains(%v, %s)) + + + + + { + ?thing bf:instanceTitle %v_it . + %v_it bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:title %v FILTER(contains(%v, %s)) + } + + + + + + ?thing bf:instanceTitle %v_it . + %v_it bf:subtitle %v FILTER(contains(%v, %s)) + + + + ?thing bf:instanceTitle %v_it . + %v_it bf:partTitle %v FILTER(contains(%v, %s)) + + + + + + { + ?thing bf:title %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:titleStatement %v FILTER(contains(%v, %s)) + } UNION { + ?thing ?titlerel %v_it . + %v_it a bf:Title + { + %v_it bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + %v_it bf:partTitle %v FILTER(contains(%v, %s)) + } UNION { + %v_it bf:subtitle %v FILTER(contains(%v, %s)) + } + } + + + + + ?thing bf:creator %v_cr . + %v_cr bf:label %v FILTER(contains(%v, %s)) + + + + ?thing bf:instanceOf %v_work . + %v_work bf:creator %v_cr . + %v_cr bf:label %v FILTER(contains(%v, %s)) + + + + ?thing bf:instanceOf %v_work . + %v_work bf:contributor %v_co . + %v_co bf:label %v FILTER(contains(%v, %s)) + + + + ?thing bf:contributor %v_co . + %v_co bf:label %v FILTER(contains(%v, %s)) + + + + { + ?thing bf:creator %v_cr . + %v_cr bf:label %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:contributor %v_co . + %v_co bf:label %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:instanceOf %v_work . + %v_work bf:creator %v_wcr . + %v_wcr bf:label %v FILTER(contains(%v, %s)) + } UNION { + ?thing bf:instanceOf %v_work . + %v_work bf:contributor %v_wco . + %v_wco bf:label %v FILTER(contains(%v, %s)) + } + + + + + + + + + + { + ?thing bf:isbn10 %v + FILTER(isUri(%v) && contains(str(%v), %s)) + } UNION { + ?thing bf:isbn13 %v + FILTER(isUri(%v) && contains(str(%v), %s)) + } UNION { + { + ?thing bf:isbn10 %v_isbn + } UNION { + ?thing bf:isbn13 %v_isbn + } + %v_isbn a bf:Identifier . + %v_isbn bf:identifierValue %v FILTER( %v = %s ) + } + + + + + ?thing bf:lccn %v_lccn . + %v_lccn a bf:Identifier . + %v_lccn bf:identifierValue %v FILTER( %v = %s ) + + + + + ?thing bf:instanceOf %u + + + + + + + CONSTRUCT { + %u ?irel1 ?iobj1 . + ?iobj1 ?irel2 ?iobj2 . + ?iobj2 ?irel3 ?iobj3 . + ?work ?wrel1 ?wobj1 . + ?wobj1 ?wrel2 ?wobj2 . + ?wobj2 ?wrel3 ?wobj3 + } + WHERE { + %u a bf:Instance . + %u ?irel1 ?iobj1 . + OPTIONAL { + ?iobj1 ?irel2 ?iobj2 + MINUS { ?iobj2 a bf:Work } + MINUS { ?iobj2 a bf:Instance } . + OPTIONAL { + ?iobj2 ?irel3 ?iobj3 + MINUS { ?iobj3 a bf:Work } + MINUS { ?iobj3 a bf:Instance } + } + } + OPTIONAL { + %u bf:instanceOf ?work . + ?work ?wrel1 ?wobj1 . + 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 } + } + } + } + } + + + + + + + + + + + + + + + + + + CONSTRUCT { + %u ?rel ?obj . + ?obj ?rel1 ?obj1 . + } + WHERE { + %u ?rel ?obj . + OPTIONAL { ?obj ?rel1 ?obj1 } + } + + + + + + + ?thing bf:label %v FILTER(contains(%v, %s)) + + + ?thing bf:label %v FILTER(contains(%v, %s)) + + + + + + ?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)) + + + + + + + + ?thing ?rel ?obj FILTER( str(?thing) = %s ) + + + +
+ + + http + + + + true +