Kjetil, > > Re. > > DESCRIBE ?resource WHERE { > > ?resource dct:title ?free ; > > dct:subject ?var . > > ?var skos:prefLabel ?free . > > ?free bif:contains "Da*" . > > }, > > > > there are two errors. > > Ah, yes, it was just an example. In practise, we have some OPTIONALs and a > FILTER bound( thing that takes care of all these things.
OK. Just remember that bif:contains will work only with triple in same group at same level such that "subject" of bif:contains is object of that triple. So it is impossible to bind a variable in one place and make free-text search in other. Say, the following will report an error: DESCRIBE ?resource WHERE { { ?resource dct:title ?free . } UNION { ?resource dct:subject ?var . ?var skos:prefLabel ?free . } ?free bif:contains "Da*" . } That is because free-text index is areal index that should operate on real table alias, not on something "derived" like union or subquery. > I was wondering if I > could somehow exclude the sub:literals predicate from the DESCRIBE result? It's a problem of SPARQL spec. There's no syntax for configuration options; I've failed to push that idea into initial version of the W3C spec. We shall see if the second attempt will be better. If not, then we will violate the spec (and create one more interop issue) -- "the best critique is sabotage". Best Regards, Ivan Mikhailov OpenLink Software http://virtuoso.openlinksw.com