NeoVoc: Difference between revisions

From eneoli wikibase
Line 92: Line 92:
   ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
   ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
   ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv. ?equiv_st enpq:P64 [rdfs:label ?validator]. filter(lang(?validator)="en")
   ?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)
</sparql>
This query shows statistics by language considering only those equivalents that have no "warning", but do have a "validated by" qualifier. Those are the ones lexical entries are created for.
<sparql tryit="1">
#title:Number of equivalents present in NeoVoc 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:P5 enwb:Q12. # instances of "NeoVoc Concept"
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv; enpq:P64 ?validated. filter not exists{?equiv_st enpq:P58 ?warning.}
   bind (lang(?equiv) as ?language)
   bind (lang(?equiv) as ?language)
} group by ?language ?equivalents order by desc(?equivalents)
} group by ?language ?equivalents order by desc(?equivalents)

Revision as of 15:59, 12 September 2024

NeoVoc, a multilingual vocabulary of Neology

SPARQL queries

All NeoVoc concept entries

#title: All NeoVoc concepts with labels in your browser's language (with English or French as fallback), and English and French descriptions.

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

select ?concept ?conceptLabel (iri(concat(str(wd:),?wd)) as ?wikidata) ?descript_en ?descript_fr
       
where { 
  ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
  optional {?concept endp:P1 ?wd.}
  optional {?concept schema:description ?descript_en. filter(lang(?descript_en)="en")}
  optional {?concept schema:description ?descript_fr. filter(lang(?descript_fr)="fr")}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr". }
}

Try it!

All NeoVoc lexical entries

#title: All NeoVoc lexical entries with linked concept nodes

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

select ?lexical_entry (lang(?lemma) as ?lang) ?lemma ?sense ?concept ?conceptLabel (iri(concat(str(wd:),?wd)) as ?wikidata) ?descript_en ?descript_fr
       
where { 
  ?lexical_entry endp:P5 enwb:Q13; wikibase:lemma ?lemma; ontolex:sense ?sense.
  optional {?sense endp:P12 ?concept.
  optional {?concept endp:P1 ?wd.}
  optional {?concept schema:description ?descript_en. filter(lang(?descript_en)="en")}
  optional {?concept schema:description ?descript_fr. filter(lang(?descript_fr)="fr")}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr". }}
}

Try it!

NeoVoc lexical entries: occurrences in NeoCorpus articles

#title: NeoVoc lexical entry lemmata, and in how many articles they occur

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

select ?lexical_entry (lang(?lemma) as ?lang) ?lemma (count(?bib_item) as ?in_how_many_articles)
       
where { 
  ?lexical_entry endp:P5 enwb:Q13; wikibase:lemma ?lemma.
  ?bib_item endp:P65 ?lexical_entry.
} group by ?lexical_entry ?lang ?lemma order by desc(?in_how_many_articles)

Try it!


Coverage of NeoVoc concepts with multilingual equivalents

All existing equivalents

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 NeoVoc with multilingual equivalents.

#title:Number of equivalents present in NeoVoc 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:P5 enwb:Q12. # instances of "NeoVoc Concept"
  ?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 NeoVoc 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(?concept) as ?equivalents) 

where {
  ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
  ?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!


Validation 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 (sample(?validator) as ?validator_name) (count(?concept) as ?validated_equivalents) 

where {
  ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
  ?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 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:P5 enwb:Q12. # instances of "NeoVoc Concept"
  ?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!