- ?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))
+ } 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))
+ }
+ </index>
+
+ <!-- isbn index. The Instance may contain a isbn10 or isbn13. -->
+ <!-- These can be literal values like -->
+ <!-- http://isbn.example.org/1906833214 which we need to search -->
+ <!-- by our usual substring match. Or they can be links to Identivfiers -->
+ <!-- which will have a proper identifierValue on which we can do -->
+ <!-- an exact match. -->
+ <index type="bf.isbn">
+ {
+ ?thing bf:isbn10 %v
+ FILTER(isUri(%v) && contains(str(%v), %s))