X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=bibframe%2Ftriplestore.xml;h=ff4498ae8c9c4e4c0004de196e4fee092e1f74c6;hb=55a5237e7ece9ae9a11c2b1ed72d202fdb7957ac;hp=47e160a1635f83c8322b449139d02b4effceadfd;hpb=950e31a6a1d4249e0f150ca62e0101fa02e2c6a9;p=mp-sparql-moved-to-github.git diff --git a/bibframe/triplestore.xml b/bibframe/triplestore.xml index 47e160a..ff4498a 100644 --- a/bibframe/triplestore.xml +++ b/bibframe/triplestore.xml @@ -1,13 +1,66 @@ - + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns bf: http://bibframe.org/vocab/ - ?work ?wtitle +
SELECT + ?work + MAX(?wtitle) AS ?title + MAX(?creatorlabel) AS ?creator + MAX(?subjectlabel) 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)) + { + { ?wt bf:titleValue %v FILTER(contains(%v, %s)) } + UNION { ?creator bf:label %v FILTER(contains(%v, %s)) } + UNION { ?subject bf:label %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)) + ?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 DISTINCT ?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 +