* Description * Use no prior knowledge such as predicates and statistics information of the source endpoints -- up-to-date information of each source * Contact each source with "ask" query in real time to determine the target source -- no predicates bound limitation * Save the predicate information in cache for future use * Join order: a heuristics-based cost estimation(based on a variation of the variable counting technique) * Use exclusive group and bound join technology to minimize the number of requests sent to federation members * source code: FedX3.1 http://www.fluidops.com/en/company/training/open_source * execute: example: {{{ [fsearch@cl38 FedX]$ java -jar FedX3.1.jar -d bio2RDF.ttl -f STDOUT -q "select ?s1 ?o1 ?o2 where{ ?s1 .?s1 ?o1. ?o1 ?o2. ?o2.}" }}} Result: query1: return 5 results query2: return 40 results query3: return 790 results query4: return 9492 results query5: return 111962 results ||Query\time(ms) ||time 1 || time 2 || time 3 ||time 4||time 5 || ||case1 ||11624 ||9469 ||10377 ||8978|| 9355|| ||case2|||47152 ||43902||43569||42418||43393 || ||case3 ||113629 ||108622||109989||109297|| 109796|| ||case4 ||106218 ||108579||109989||107731|| 106713|| ||case5||792628 ||794677||806516||819745||812255 ||