Task 3.6 Gender

From eneoli wikibase

Neology and Gender Equality

This page describes the collection of concepts and lexemes worked on in ENEOLI Task 3.6, "Neology and Gender Equality".

The document describing the workflow for editing lexeme entries is described in this document.

Work pages for individual languages

SPARQL Queries

All Gender concepts and English description

#title: "Gender" concepts and English description

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/> 

select distinct ?concept ?conceptLabel ?termposLabel ?wikidata ?desc_en ?equiv ?lang 
(group_concat(?validator; SEPARATOR = ", ") as ?validated)

       
where {   
  ?concept endp:P82 enwb:Q51. # Concepts of the "gender" collection
  ?concept schema:description ?desc_en. filter(lang(?desc_en)="en")
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv. filter(lang(?equiv)="en")
			   ?equiv_st enpq:P64 [rdfs:label ?validator]. filter(lang(?validator)="en") # has been validated.
               bind (lang(?equiv) as ?lang)
  optional {?concept endp:P1 ?wd. bind (iri(concat(str(wd:),?wd)) as ?wikidata)}
  optional {?concept endp:P92 ?termpos.}
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} group by ?concept ?conceptLabel ?termposLabel ?wikidata ?desc_en ?equiv ?lang ?validated
order by lcase(?conceptLabel)

Try it!


All Gender concepts and linked lexical entries

#title: "Gender" concepts and linked lexical senses

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/> 

select distinct ?concept ?conceptLabel ?termposLabel ?wikidata ?equiv ?lang 
(group_concat(?validator; SEPARATOR = ", ") as ?validated)
?lexeme_sense
       
where {   
  ?concept endp:P82 enwb:Q51. # Concepts of the "gender" collection
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv.
			   ?equiv_st enpq:P64 [rdfs:label ?validator]. filter(lang(?validator)="en") # has been validated.
               bind (lang(?equiv) as ?lang)
  optional {?equiv_st enpq:P63 ?linked_sense. bind (iri(concat(str(enwb:),?linked_sense)) as ?lexeme_sense)}
  optional {?concept endp:P1 ?wd. bind (iri(concat(str(wd:),?wd)) as ?wikidata)}
  optional {?concept endp:P92 ?termpos.}
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} group by ?concept ?conceptLabel ?termposLabel ?wikidata ?equiv ?lang ?validated ?lexeme_sense
order by lcase(?conceptLabel) ?lang

Try it!


Coverage of languages (also unvalidated)

This query lists statistics of language coverage (concept labels and descriptions), taking into account all data, i.e. not only validated equivalents.

#title: "Gender" concepts: statistics of language coverage, labels and descriptions

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>

select distinct ?concept ?conceptLabel ?termposLabel ?wikidata ?engDef 
(count(distinct ?label) as ?labels) 
(group_concat(distinct?label_lang;SEPARATOR=", ") as ?label_langs)
(count(distinct ?desc) as ?descs)
(group_concat(distinct?desc_lang;SEPARATOR=", ") as ?desc_langs)
       
where { 
  
    
  ?concept endp:P82 enwb:Q51. # Concepts of the Task 3.6 "Gender" collection
  ?concept rdfs:label ?label; schema:description ?desc.
  bind(lang(?label) as ?label_lang) bind(lang(?desc) as ?desc_lang)
  optional {?concept endp:P1 ?wd. bind (iri(concat(str(wd:),?wd)) as ?wikidata)}
  optional {?concept endp:P92 ?termpos.}
  optional {?concept schema:description ?engDef. filter(lang(?engDef)="en")}
 
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} group by ?concept ?conceptLabel ?termposLabel ?wikidata ?engDef ?labels ?label_langs ?descs ?desc_langs
order by lcase(?conceptLabel)

Try it!

Lexical entries

This query lists lexical entries in this collections, and their links to concepts.

#title: "Gender" lexical entries with linked concepts (and wikidata concepts)
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>
PREFIX enpr: <https://eneoli.wikibase.cloud/prop/reference/>

select distinct ?lexical_entry ?lemma (lang(?lemma) as ?langcode) ?langLabel ?posLabel ?sense ?concept ?wikidata

where { 
  ?lexical_entry endp:P82 enwb:Q51. # Entries in the Task 3.6 "Gender" collection
  ?lexical_entry wikibase:lemma ?lemma; dct:language ?lang; ontolex:sense ?sense; wikibase:lexicalCategory ?pos.
  ?sense endp:P12 ?concept.
  optional {?concept endp:P1 ?wikidata.}
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} 
order by ?lang lcase(?lemma)

Try it!

This query lists those lexical entries that have attestations. It shows the first attestation for every entry.

#title: "Gender" lexical entries with attestations: first attestation only

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>
PREFIX enpr: <https://eneoli.wikibase.cloud/prop/reference/>

select distinct ?conceptLabel ?lexical_entry ?lemma ?langLabel ?sense ?concept ?attestation ?source (year(?date) as ?year)

where { 
  ?lexical_entry endp:P82 enwb:Q51. # Entries in the Task 3.6 "Gender" collection
  ?lexical_entry wikibase:lemma ?lemma; dct:language ?lang; ontolex:sense ?sense.
  ?sense endp:P12 ?concept.
  { select ?lexical_entry ?attestation ?date ?source where {
  ?lexical_entry enp:P94 [enps:P94 ?attestation; enpq:P96 ?date; prov:wasDerivedFrom [enpr:P95 ?source]].}
   order by ?date limit 1 }
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} 
order by lcase(?lemma)

Try it!


Lexical entries and their links to neologism types

This query lists those lexical entries that are linked to a lexical innovation process.

#defaultView:Graph
#title: Neologisms of the "Gender" collection and their links to neologism types
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select
?subject ?subjectLabel ?rgb ?object ?objectLabel 

where {
  { ?subject endp:P4* enwb:Q15; endp:P4 ?object. } 
  union
  { ?subject endp:P82 enwb:Q51; endp:P83 ?object; wikibase:lemma ?lemma. bind(concat(ucase(lang(?lemma)),": ",str(?lemma)) as ?subjectLabel) bind("00EE76" as ?rgb)}
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en, es". }
}

Try it!

Counts of linked neologism type values

#title: Neologisms of the "Gender" collection and their links to neologism types
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select
?neologism_type ?neologism_typeLabel (count(distinct ?lexeme) as ?lexemes) 

where {
   ?lexeme endp:P82 enwb:Q51; endp:P83 ?neologism_type.
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en, es". }
} group by ?neologism_type ?neologism_typeLabel ?lexemes order by desc(?lexemes)

Try it!


All existing equivalents (bar chart)

First, we define multilingual equivalents for the concepts; we do this in the concept entry. Lexical entries will be created after that. This query shows the progress in covering Gender concepts with multilingual equivalents.

#title:Number of equivalents present in Gender concept entries (including unvalidated equivalents)
#defaultView:BarChart

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select ?language (count(?concept) as ?equivalents) 

where {
  ?concept endp:P82 enwb:Q51. # part of Gender collection
  ?concept endp:P57 ?equiv.
  bind (lang(?equiv) as ?language)
} group by ?language ?equivalents order by desc(?equivalents)

Try it!


Validated equivalents

The following query shows the coverage of concept entries with equivalents in different languages, but counting only those that have been validated (i.e., where a "validated by" qualifier has been attached to the equivalent).

#title:Number of equivalents present in Gender concept entries (validated equivalents only)
#defaultView:BarChart

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select ?language (count(?equiv_st) as ?equivalents) 

where {
  ?concept endp:P82 enwb:Q51. # part of Gender collection
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv. ?equiv_st enpq:P64 [rdfs:label ?validator]. filter(lang(?validator)="en")
  bind (lang(?equiv) as ?language)
} group by ?language ?equivalents order by desc(?equivalents)

Try it!

For each language, number of concepts with at least one validated equivalent

For each language, this query shows how many Gender concept entries have at least one validated equivalent.

#title:For each language, number of concept entries with at least one validated equivalent
#defaultView:BarChart
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select ?lang_code (count(distinct ?concept) as ?concepts_with_validated_equiv)

where {
  ?concept endp:P82 enwb:Q51. # part of Gender collection
  ?concept enp:P57 [enps:P57 ?equiv; enpq:P64 ?validator_entity].
  bind(lang(?equiv) as ?lang_code)
  
} group by ?lang_code ?concepts_with_validated_equiv
order by desc(?concepts_with_validated_equiv)

Try it!

Validator statistics

This query lists how many multilingual equivalents have been validated by each validator.

#title:Number of equivalents validated (equivalents with a "validated by" P64 qualifier pointing to an entity describing a person)

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select ?validator_entity ?validator (count(?equiv_st) as ?validated_equivalents) 

where {
  ?concept endp:P82 enwb:Q51. # part of Gender collection
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv. 
  ?equiv_st enpq:P64 ?validator_entity.
  ?validator_entity rdfs:label ?validator. filter(lang(?validator)="en")
} group by ?validator_entity ?validator order by desc(?validated_equivalents)

Try it!

This query lists which equivalents have been validated by each validator

#title:Lists of equivalents with a "validated by" P64 qualifier pointing to an entity describing a person

PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
PREFIX enp: <https://eneoli.wikibase.cloud/prop/>
PREFIX enps: <https://eneoli.wikibase.cloud/prop/statement/>
PREFIX enpq: <https://eneoli.wikibase.cloud/prop/qualifier/>

select ?validator_entity (sample(?validator) as ?validator_name) (group_concat(distinct concat('"',str(?equiv),'"@',lang(?equiv))) as ?validated_equivalents) 

where {
  ?concept endp:P82 enwb:Q51. # part of Gender collection
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv. 
  ?equiv_st enpq:P64 ?validator_entity.
  ?validator_entity rdfs:label ?validator. 
  
} group by ?validator_entity ?validator_name ?validated_equivalents

Try it!