X-Git-Url: http://git.indexdata.com/?p=mp-sparql-moved-to-github.git;a=blobdiff_plain;f=bibframe%2Ftriplestore.xml;h=12af0ddd0b5b860ba919f9966f80fa47ab7ac892;hp=000f8ce2cd2f72b04ee4244a9181c6c114f0dd7a;hb=62b3dd7a591f31846e92bb74f4a99b436fae1f1f;hpb=42e7b2635e16009f29515ea81f9cc1e0e4cb94c2 diff --git a/bibframe/triplestore.xml b/bibframe/triplestore.xml index 000f8ce..12af0dd 100644 --- a/bibframe/triplestore.xml +++ b/bibframe/triplestore.xml @@ -1,5 +1,38 @@ + + @@ -17,18 +50,31 @@ - ?thing rdf:type ?any FILTER( ?thing = %u ) + ?thing %v_rel %v_obj FILTER( ?thing = %u ) + + + + + + ?thing a %t + + + + + + + ?thing %v_rel %u + - + CONSTRUCT { - ?thing ?rel ?subj + %u ?rel ?subj } WHERE { - ?thing ?rel ?subj . - ?thing ?rel ?subj FILTER( str(?thing) = %s ) + %u ?rel ?subj . } @@ -36,16 +82,48 @@ + + + + + + - - - - ?thing ?rel ?person . - ?person a bf:Person . - ?person bf:label %v FILTER(contains(%v, %s)) + ?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)) - @@ -67,8 +145,8 @@ - ?thing bf:workTitle ?wt . - ?wt bf:titleValue %v FILTER(contains(%v, %s)) + ?thing bf:workTitle %v_wt . + %v_wt bf:titleValue %v FILTER(contains(%v, %s)) @@ -76,34 +154,35 @@ { - ?thing bf:workTitle ?wt . - ?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 ?wt . - ?wt bf:subtitle %v FILTER(contains(%v, %s)) + + ?thing bf:workTitle %v_wt . + %v_wt bf:subtitle %v FILTER(contains(%v, %s)) - ?thing bf:workTitle ?wt . - ?wt bf:partTitle %v FILTER(contains(%v, %s)) + ?thing bf:workTitle %v_wt . + %v_wt bf:partTitle %v FILTER(contains(%v, %s)) - ?thing bf:titleVariation ?tv . - ?tv bf:titleValue %v FILTER(contains(%v, %s)) + ?thing bf:titleVariation %v_tv . + %v_tv bf:titleValue %v FILTER(contains(%v, %s)) - ?inst bf:instanceOf ?thing . - ?inst bf:instanceTitle ?it . - ?it 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 ?titlerel ?ti . - ?ti a bf:Title + ?thing ?titlerel %v_ti . + %v_ti a bf:Title { - ?ti bf:titleValue %v FILTER(contains(%v, %s)) + %v_ti bf:titleValue %v FILTER(contains(%v, %s)) } UNION { - ?ti bf:partTitle %v FILTER(contains(%v, %s)) + %v_ti bf:partTitle %v FILTER(contains(%v, %s)) } UNION { - ?ti bf:subtitle %v FILTER(contains(%v, %s)) + %v_ti bf:subtitle %v FILTER(contains(%v, %s)) } } UNION { - ?inst bf:instanceOf ?thing . - ?inst bf:instanceTitle ?it . - ?it bf:titleValue %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 ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?thing bf:creator %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) - ?thing bf:contributor ?c . - ?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 ?c . - ?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 ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?thing bf:contributor %v_c . + %v_c bf:label %v FILTER(contains(%v, %s)) } @@ -154,35 +232,45 @@ - ?thing bf:subject ?subject . - ?subject 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 ?rel ?wobj1 . - ?wobj1 ?wrel1 ?wobj2 . - ?wobj2 ?wrel2 ?wobj3 . + %u ?wrel1 ?wobj1 . + ?wobj1 ?wrel2 ?wobj2 . + ?wobj2 ?wrel3 ?wobj3 . ?inst ?irel1 ?iobj1 . ?iobj1 ?irel2 ?iobj2 . ?iobj2 ?irel3 ?iobj3 } WHERE { %u a bf:Work . - %u ?rel ?wobj1 . + %u ?wrel1 ?wobj1 . OPTIONAL { ?wobj1 ?wrel2 ?wobj2 - MINUS { ?wobj1 a bf:Work } - MINUS { ?wobj1 a bf:Instance } + MINUS { ?wobj1 a bf:Work } + MINUS { ?wobj1 a bf:Instance } OPTIONAL { ?wobj2 ?wrel3 ?wobj3 - MINUS { ?wobj2 a bf:Work } - MINUS { ?wobj2 a bf:Instance } + MINUS { ?wobj2 a bf:Work } + MINUS { ?wobj2 a bf:Instance } } } @@ -191,12 +279,12 @@ ?inst ?irel1 ?iobj1 OPTIONAL { ?iobj1 ?irel2 ?iobj2 - MINUS { ?iobj1 a bf:Work } - MINUS { ?iobj1 a bf:Instance } + MINUS { ?iobj1 a bf:Work } + MINUS { ?iobj1 a bf:Instance } OPTIONAL { ?iobj2 ?irel3 ?iobj3 - MINUS { ?iobj2 a bf:Work } - MINUS { ?iobj2 a bf:Instance } + MINUS { ?iobj2 a bf:Work } + MINUS { ?iobj2 a bf:Instance } } } } @@ -219,8 +307,8 @@ - ?thing bf:instanceTitle ?it . - ?it bf:titleValue %v FILTER(contains(%v, %s)) + ?thing bf:instanceTitle %v_it . + %v_it bf:titleValue %v FILTER(contains(%v, %s)) @@ -231,8 +319,8 @@ a given title has been indexed --> { - ?thing bf:instanceTitle ?it . - ?it bf:titleValue %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)) } @@ -241,13 +329,13 @@ - ?thing bf:instanceTitle ?it . - ?it bf:subtitle %v FILTER(contains(%v, %s)) + ?thing bf:instanceTitle %v_it . + %v_it bf:subtitle %v FILTER(contains(%v, %s)) - ?thing bf:instanceTitle ?it . - ?it bf:partTitle %v FILTER(contains(%v, %s)) + ?thing bf:instanceTitle %v_it . + %v_it bf:partTitle %v FILTER(contains(%v, %s)) @@ -258,62 +346,99 @@ } UNION { ?thing bf:titleStatement %v FILTER(contains(%v, %s)) } UNION { - ?thing ?titlerel ?it . - ?it a bf:Title + ?thing ?titlerel %v_it . + %v_it a bf:Title { - ?it bf:titleValue %v FILTER(contains(%v, %s)) + %v_it bf:titleValue %v FILTER(contains(%v, %s)) } UNION { - ?it bf:partTitle %v FILTER(contains(%v, %s)) + %v_it bf:partTitle %v FILTER(contains(%v, %s)) } UNION { - ?it bf:subtitle %v FILTER(contains(%v, %s)) + %v_it bf:subtitle %v FILTER(contains(%v, %s)) } } - ?thing bf:creator ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?thing bf:creator %v_cr . + %v_cr bf:label %v FILTER(contains(%v, %s)) - ?thing bf:instanceOf ?work . - ?work bf:creator ?c . - ?c 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 ?work . - ?work bf:contributor ?c . - ?c 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 ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?thing bf:contributor %v_co . + %v_co bf:label %v FILTER(contains(%v, %s)) { - ?thing bf:creator ?c . - ?c 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:contributor ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?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:instanceOf ?work . - ?work bf:creator ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + ?thing bf:isbn13 %v + FILTER(isUri(%v) && contains(str(%v), %s)) } UNION { - ?thing bf:instanceOf ?work . - ?work bf:contributor ?c . - ?c bf:label %v FILTER(contains(%v, %s)) + { + ?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 . @@ -324,29 +449,28 @@ } WHERE { %u a bf:Instance . - %u ?irel1 ?iobj1 + %u ?irel1 ?iobj1 . OPTIONAL { ?iobj1 ?irel2 ?iobj2 - MINUS { ?iobj2 a bf:Work } - MINUS { ?iobj2 a bf:Instance } + MINUS { ?iobj2 a bf:Work } + MINUS { ?iobj2 a bf:Instance } . OPTIONAL { ?iobj2 ?irel3 ?iobj3 - MINUS { ?iobj3 a bf:Work } - MINUS { ?iobj3 a bf:Instance } + MINUS { ?iobj3 a bf:Work } + MINUS { ?iobj3 a bf:Instance } } } - - OPTIONAL { - %u bf:instanceOf ?work - ?work ?wrel1 ?wobj1 + OPTIONAL { + %u bf:instanceOf ?work . + ?work ?wrel1 ?wobj1 . OPTIONAL { ?wobj1 ?wrel2 ?wobj2 - MINUS { ?wobj1 a bf:Work } - MINUS { ?wobj1 a bf:Instance } + MINUS { ?wobj1 a bf:Work } + MINUS { ?wobj1 a bf:Instance } . OPTIONAL { ?wobj2 ?wrel3 ?wobj3 - MINUS { ?wobj2 a bf:Work } - MINUS { ?wobj2 a bf:Instance } + MINUS { ?wobj2 a bf:Work } + MINUS { ?wobj2 a bf:Instance } } } } @@ -365,7 +489,7 @@ - + CONSTRUCT { @@ -478,26 +602,17 @@ - - - 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 ) + + + + ?thing ?rel ?obj FILTER( str(?thing) = %s ) + +
http -