Q38, run 2026-11-06-0519-sonnet-query
Which institutions is W71 credited to, at every level?
Tests: Local rule on affiliations, then the hierarchy: the Tessel Laboratory is listed last, so Halloran gets nothing.
Expected: institutions = ['I01', 'I02', 'I03', 'I04']
sql run 1
I06 (primary on W71), I04, and their ancestors I03, I02 and I01.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sql run 2
I06 and I04, plus I04's parents I03, I02 and I01.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sql run 3
I04, I03, I02, I01, plus I06 (which is also under I02). W71 lists I06 and I04.
JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']
sql run 4
I06 and I04 directly. Through the hierarchy, W71 is also credited to I03, I02 and I01.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sql run 5
I06, I04, I03, I02, I01. W71 lists I06 and I04, and I03, I02 and I01 are their ancestors.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sql+markdown run 1
I04, I03, I02 and I01. On W71 the last-listed affiliation is I04, and credit passes up its chain of parents.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+markdown run 2
I04, I03, I02 and I01. W71 is credited to I04, and its parent chain gives the rest.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+markdown run 3
I04, I03, I02, I01. For W71 the last-listed affiliation is I04.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+markdown run 4
I04, I03, I02 and I01. The last-listed affiliation on W71 is I04, so the work is also credited up its chain.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+markdown run 5
I04, I03, I02 and I01. W71's last-listed affiliation is I04, and credit passes up through its parents.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+executed run 1
I04, I03, I02 and I01. W71 is credited to I04, and the unit table rolls it up through those levels.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+executed run 2
I04, I03, I02 and I01. W71 is credited to I04, which rolls up through I03 and I02 to I01.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+executed run 3
I04, I03, I02, I01. This is the credited institution I04 plus every level above it.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+executed run 4
I04, I03, I02 and I01.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sql+executed run 5
I04, I03, I02, I01. W71 is credited to I04, which counts towards the other three.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sparql run 1
I04, I03, I02, I01 and I06. W71's authorship lists I04 and I06, and I04's ancestors are I03, I02 and I01.
JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']
sparql run 2
I04, I06, I03, I02 and I01 (the two listed institutions and their ancestors).
JSON: {"institutions": ["I04", "I06", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I06', 'I03', 'I02', 'I01']
sparql run 3
I06, I04, I03, I02, I01.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sparql run 4
I04, I03, I02 and I01 (the Tessel Laboratory's chain), plus I06 (Halloran Institute, an affiliate of I02).
JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']
sparql run 5
I06 and I04, plus their ancestors I03, I02 and I01.
JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}
Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']
sparql+ontology run 1
I04, I03, I02 and I01. For W71, A08's last-listed affiliation is I04, and the work is also credited to I04's parents.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sparql+ontology run 2
I04, I03, I02, I01. W71's last-listed affiliation is I04, and credit passes up the chain.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sparql+ontology run 3
I04, I03, I02, I01. A08 lists I06 at sequence 1 and I04 at sequence 2, so I04 is credited, and with it everything above I04.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sparql+ontology run 4
I04, I03, I02 and I01. For W71 the author's last-listed affiliation is I04, which sits under I03, I02 and I01.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}
sparql+ontology run 5
I04, I03, I02 and I01. For W71, A08's last-listed affiliation is I04 (sequence 2), and the credit passes up through its parents.
JSON: {"institutions": ["I04", "I03", "I02", "I01"]}