///|
fn main raise {
  let facts = []
  let p = @q.iri("urn:cost")
  for i = 0; i < 10000; i = i + 1 {
    facts.push(
      @q.quad(
        @q.iri("urn:item:" + i.to_string()),
        p,
        @q.typed_literal(i.to_string(), @q.xsd_namespace() + "integer"),
      ),
    )
  }
  let data = @q.Dataset::from_quads(facts)
  let lookup = @q.prepare("SELECT ?cost {  ?cost}").execute(
    data,
  )
  assert_eq(lookup.rows().length(), 1)
  assert_true(lookup.statistics().steps < 10)
  let result = @q.prepare(
    "SELECT (COUNT(*) AS ?count) (SUM(?v) AS ?total) {?s  ?v}",
  ).execute(data)
  assert_eq(result.rows()[0].get("count").unwrap().lexical(), "10000")
  assert_eq(result.rows()[0].get("total").unwrap().lexical(), "49995000")
  println("10000 facts: indexed lookup and exact sum verified")
  println(result.to_json())
}