X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_sparql.cpp;h=638d2bad9000d81a5a71f87f6fa0239b2f94143c;hb=1bd695eb9f4b166b5d32cd5ddac1b1cdf41c14f1;hp=11206a74da3803da0fc3743c5249b82770dc50b2;hpb=dd9e60bc906fcd3dffd764d079aa77cfede70f07;p=mp-sparql-moved-to-github.git diff --git a/src/filter_sparql.cpp b/src/filter_sparql.cpp index 11206a7..638d2ba 100644 --- a/src/filter_sparql.cpp +++ b/src/filter_sparql.cpp @@ -448,6 +448,7 @@ Z_Records *yf::SPARQL::Session::fetch( std::list::iterator it = fset->results.begin(); const char *schema = 0; bool uri_lookup = false; + bool fetch_logged = false; if (esn && esn->which == Z_ElementSetNames_generic) schema = esn->u.generic; @@ -506,7 +507,9 @@ Z_Records *yf::SPARQL::Session::fetch( { if (n->type == XML_ELEMENT_NODE) { - if (!strcmp((const char *) n->name, "uri")) + //if (!strcmp((const char *) n->name, "uri")) + if (!strcmp((const char *) n->name, "uri") || + !strcmp((const char *) n->name, "bnode") ) { uri = mp::xml::get_text(n->children); @@ -534,7 +537,19 @@ Z_Records *yf::SPARQL::Session::fetch( uri.c_str(), schema); if (!error) { - yaz_log(YLOG_LOG, "query=%s", query.c_str()); + if (!fetch_logged) + { // Log the fetch query only once + package.log("sparql", YLOG_LOG, + "fetch query: for %s \n%s", + uri.c_str(), query.c_str() ); + fetch_logged = true; + } + else + { + package.log("sparql", YLOG_LOG, + "fetch uri:%s", uri.c_str() ); + } + //yaz_log(YLOG_LOG, "query=%s", query.c_str()); error = invoke_sparql(package, query.c_str(), it->conf, w); } @@ -634,6 +649,9 @@ Z_APDU *yf::SPARQL::Session::search(mp::Package &package, Z_APDU *apdu_res = 0; mp::wrbuf w; + package.log("sparql", YLOG_LOG, + "search query:\n%s", sparql_query ); + int error = invoke_sparql(package, sparql_query, conf, w); if (error) {