Public
Edited
Nov 1, 2021
1 fork
2 stars
Insert cell
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
Insert cell
df_fr.dedupe().filter(d => d.itemLabel === d.maleform & d.itemLabel != d.femaleform).view()
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
df_fr.dedupe().filter(d => d.itemLabel != d.maleform & d.itemLabel === d.femaleform).view()
Insert cell
Insert cell
df_fr.dedupe().filter(d => d.itemLabel === d.maleform & d.itemLabel === d.femaleform).view()
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
df_fr.dedupe().filter(d => d.itemLabel != d.maleform & d.itemLabel != d.femaleform).view()
Insert cell
Insert cell
Insert cell
Insert cell
data_fr = fetch(`https://query.wikidata.org/sparql?query=${encodeURIComponent(query_fr)}`, {headers: {accept: "application/sparql-results+json"}}).then(response => response.json())
Insert cell
df_fr = aq.from(data_fr.results.bindings.map(res => ({
item: res.item.value,
itemLabel: res.itemLabel.value,
maleform: res.maleform.value,
femaleform: res.femaleform.value,
lang: res.lang.value,
})))
Insert cell
df_fr2 = df_fr.derive(
{id: d => 1*(d.itemLabel === d.maleform & d.itemLabel != d.femaleform)
+ 2*(d.itemLabel !== d.maleform & d.itemLabel === d.femaleform)
+ 3*(d.itemLabel === d.maleform & d.itemLabel === d.femaleform)
+ 4*(d.itemLabel !== d.maleform & d.itemLabel !== d.femaleform)
}
).join_left(
aq.table({ id: [1, 2, 3, 4], type: ["male-generic", "female-generic", "epicene", "different"] }),
"id"
).dedupe()
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
male_generic = df_fr.dedupe().filter(d => d.itemLabel === d.maleform & d.itemLabel != d.femaleform).numRows()
Insert cell
female_generic = df_fr.dedupe().filter(d => d.itemLabel !== d.maleform & d.itemLabel === d.femaleform).numRows()
Insert cell
male_female_label = df_fr.dedupe().filter(d => d.itemLabel === d.maleform & d.itemLabel === d.femaleform).numRows()
Insert cell
other_label = df_fr.dedupe().filter(d => d.itemLabel !== d.maleform & d.itemLabel !== d.femaleform).numRows()
Insert cell
Insert cell
import {aq, op} from "@uwdata/arquero"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more