X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=bibframe%2Ftriplestore.xml;h=25fab14cb9dd16072a19906a9f9b510b0b90e44c;hb=f46a54721c067a4146453148774dfeb4c17a6a40;hp=28f34c00239200a902f7ef30f7cf5ebdcfcafbd2;hpb=c1df4c10492078db363fc4071d4c34b02e264905;p=mp-sparql-moved-to-github.git diff --git a/bibframe/triplestore.xml b/bibframe/triplestore.xml index 28f34c0..25fab14 100644 --- a/bibframe/triplestore.xml +++ b/bibframe/triplestore.xml @@ -108,22 +108,24 @@ - { - ?thing 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 { - ?thing bf:titleVariation ?tv . - ?tv bf:titleValue %v FILTER(contains(%v, %s)) + ?thing bf:title %v FILTER(contains(%v, %s)) + } UNION { + ?thing ?titlerel ?ti . + ?ti a bf:Title + { + ?ti bf:titleValue %v FILTER(contains(%v, %s)) + } UNION { + ?ti bf:partTitle %v FILTER(contains(%v, %s)) + } UNION { + ?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 { - ?thing bf:title %v FILTER(contains(%v, %s)) } @@ -159,42 +161,9 @@ - + CONSTRUCT { - ?thing ?rel ?obj . - ?obj ?rel1 ?obj1 . - ?obj1 ?rel2 ?obj2 . - ?obj2 ?rel3 ?obj3 - } - WHERE { - - ?thing a bf:Work . - ?thing ?rel ?obj . - OPTIONAL { - ?obj ?rel1 ?obj1 - MINUS { ?obj a bf:Work } - MINUS { ?obj a bf:Instance } - } - OPTIONAL { - ?obj1 ?rel2 ?obj2 - MINUS { ?obj1 a bf:Work } - MINUS { ?obj1 a bf:Instance } - } - OPTIONAL { - ?obj2 ?rel3 ?obj3 - MINUS { ?obj2 a bf:Work } - MINUS { ?obj2 a bf:Instance } - } - ?thing ?rel ?obj FILTER( str(?thing) = %s ) - - - } - - - - - CONSTRUCT { %u ?rel ?wobj1 . ?wobj1 ?wrel1 ?wobj2 . ?wobj2 ?wrel2 ?wobj3 . @@ -207,34 +176,29 @@ %u ?rel ?wobj1 . 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 } + 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 - } - - OPTIONAL { + ?inst bf:instanceOf %u . ?inst ?irel1 ?iobj1 - } - OPTIONAL { - ?iobj1 ?irel2 ?iobj2 - } - OPTIONAL { - ?iobj2 ?irel3 ?iobj3 + 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 } + } + } } } @@ -242,7 +206,7 @@ - + ?thing a bf:Instance @@ -347,7 +311,7 @@ } - + CONSTRUCT { @@ -363,30 +327,25 @@ %u ?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 } + OPTIONAL { + ?iobj2 ?irel3 ?iobj3 + MINUS { ?iobj3 a bf:Work } + MINUS { ?iobj3 a bf:Instance } } } - - OPTIONAL { + OPTIONAL { %u bf:instanceOf ?work + ?work ?wrel1 ?wobj1 OPTIONAL { - ?work ?wrel1 ?wobj1 - MINUS { ?wobj1 a bf:Work } - MINUS { ?wobj1 a bf:Instance } + ?wobj1 ?wrel2 ?wobj2 + MINUS { ?wobj1 a bf:Work } + MINUS { ?wobj1 a bf:Instance } OPTIONAL { - ?wobj1 ?wrel2 ?wobj2 - MINUS { ?wobj2 a bf:Work } - MINUS { ?wobj2 a bf:Instance } - OPTIONAL { - ?wobj2 ?wrel3 ?wobj3 - MINUS { ?wobj3 a bf:Work } - MINUS { ?wobj3 a bf:Instance } - } + ?wobj2 ?wrel3 ?wobj3 + MINUS { ?wobj2 a bf:Work } + MINUS { ?wobj2 a bf:Instance } } } }