NeoVoc: Difference between revisions

From eneoli wikibase
(Created page with "= NeoVoc, a glossary of Neology = == Workflow description == In a first phase, we will be creating entities describing concepts, with "labels" (multilingual equivalents for the concept). Later, we will create lexicographical entries for all of these labels. == SPARQL queries == === All NeoVoc concepts === <sparql tryit="1"> #title: All NeoVoc concepts with labels in your browser's language (with English or French as fallback), and English and French descriptions. P...")
 
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:
= NeoVoc, a glossary of Neology =
= NeoVoc, a multilingual vocabulary of Neology =
 
* Access a page containing information about the tasks related to NeoVoc, regarding the language you are working on here:
== Workflow description ==
** '''[[NeoVoc/language|NeoVoc language pages]]'''
 
** Short video tutorial: https://vimeo.com/983841173
In a first phase, we will be creating entities describing concepts, with "labels" (multilingual equivalents for the concept). Later, we will create lexicographical entries for all of these labels.
 
== SPARQL queries ==
== SPARQL queries ==
 
=== All NeoVoc concept entries ===
=== All NeoVoc concepts ===
 
<sparql tryit="1">
<sparql tryit="1">
#title: All NeoVoc concepts with labels in your browser's language (with English or French as fallback), and English and French descriptions.
#title: All NeoVoc concepts with labels in your browser's language (with English or French as fallback), and English and French descriptions.
Line 24: Line 20:
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr". }
}  
}  
</sparql>
=== All NeoVoc lexical entries ===
<sparql tryit="1">
#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". }}
}
</sparql>
=== NeoVoc lexical entries: occurrences in NeoCorpus articles ===
<sparql tryit="1">
#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)
</sparql>
=== Authors and the NeoVoc terms they use ===
<sparql tryit="1">
#title: Authors, and the terms that occur in their texts
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
select ?author ?authorname (group_concat(distinct str(?lemma);SEPARATOR=", ") as ?terms) # (count(?bib_item) as ?in_how_many_articles) (lang(?lemma) as ?lang)
     
where {
  ?lexical_entry wikibase:lemma ?lemma.
  ?bib_item endp:P40 ?author;
            endp:P65 ?lexical_entry.
  ?author rdfs:label ?authorname. filter(lang(?authorname)="en")
} group by ?author ?authorname ?terms  order by ?authorname
</sparql>
=== Authors, and in how many of their articles NeoVoc terms appear ===
<sparql tryit="1">
#title: Authors, and in how many of their articles NeoVoc terms appear
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/>
PREFIX enno: <https://eneoli.wikibase.cloud/prop/novalue/>
select ?author ?lastname ?authorLabel (group_concat(distinct ?lang;SEPARATOR=", ") as ?language) (group_concat(distinct concat(str(?lemma)," (",str(?count),")");SEPARATOR=", ") as ?terms) # (count(?bib_item) as ?in_how_many_articles) (lang(?lemma) as ?lang)
     
where {
  ?author endp:P52 ?lastname.
 
{ SELECT ?author ?lang ?lemma (count(?bib_item) as ?count)
                    where {
    ?bib_item endp:P40 ?author; endp:P7 [rdfs:label ?lang]. filter (lang(?lang)="en")
    ?bib_item endp:P65 [wikibase:lemma ?lemma].
                          } group by ?author ?lang ?lemma ?count order by ?count desc(lcase(str(?lemma)))
       
} SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,de,fr,pt". }
} group by ?author ?lastname ?authorLabel ?langauge ?terms  order by ?lastname
</sparql>
=== All articles that contain terms denoting one concept ===
<sparql tryit="1">
#title: All articles that contain terms denoting one concept, here: "Q976" Neologism
PREFIX enwb: <https://eneoli.wikibase.cloud/entity/>
PREFIX endp: <https://eneoli.wikibase.cloud/prop/direct/>
select ?concept ?conceptLabel ?article ?articleLabel ?article_languageLabel
     
where { bind(enwb:Q976 as ?concept) # change "Q976" for another concept
  ?article endp:P5 enwb:Q2; endp:P7 ?article_language; endp:P65 [ontolex:sense [endp:P12 enwb:Q976]].
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
</sparql>
=== 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.
<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 endp:P57 ?equiv.
  bind (lang(?equiv) as ?language)
} group by ?language ?equivalents order by desc(?equivalents)
</sparql>
==== 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).
<sparql tryit="1">
#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(?equiv_st) 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)
</sparql>
=== Validation statistics ===
This query lists how many multilingual equivalents have been validated by each validator.
<sparql tryit="1">
#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: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. filter(lang(?validator)="en")
} group by ?validator_entity ?validator order by desc(?validated_equivalents)
</sparql>
This query lists which equivalents have been validated by each validator
<sparql tryit="1">
#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
</sparql>
== Checks for inconsistencies ==
=== Is there any mismatching equivalent-to-lexemesense link? ===
<sparql tryit="1">
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 ?concept ?equiv_st ?equiv_mylang ?descript_mylang (iri(concat(str(wd:),?wd)) as ?wikidata) ?from_sense ?from_lemma ?to_sense
where {
  ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
  optional {?concept endp:P1 ?wd.}
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv_mylang.
  filter not exists {?equiv_st enpq:P58 ?warning.} # no warning
  ?equiv_st enpq:P64 ?validator. # has been validated.
  ?equiv_st enpq:P63 ?to_sense. # equivalent is linked to some sense.
  bind(iri(concat(str(enwb:),?to_sense)) as ?from_sense)
  ?lexeme ontolex:sense ?from_sense; wikibase:lemma ?from_lemma.
  filter (?from_lemma != ?equiv_mylang)
  ?from_sense endp:P12 ?concept. # from no lexeme sense of that language there is a link to this equivalent
  optional {} # is there a lexeme sense already linked from this concept (for the mylang language)?
  optional {?concept schema:description ?descript_mylang. filter(lang(?descript_mylang)=lang(?equiv_mylang))}
} order by lcase(?equiv_mylang)
</sparql>
=== Is there any linked lexeme sense not linked back from the equivalent? ===
<sparql tryit="1">
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 ?lexeme ?lemma ?sense_id ?equiv
where {
  ?lexeme ontolex:sense ?sense; wikibase:lemma ?lemma.
  ?sense endp:P12 ?concept.
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv.
  filter(?lemma = ?equiv)
  bind(strafter(str(?sense),str(enwb:)) as ?sense_id)
  filter not exists {
    ?equiv_st enpq:P63 ?sense_id.
    }
}
</sparql>
</sparql>

Latest revision as of 11:29, 9 November 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!

Authors and the NeoVoc terms they use

#title: Authors, and the terms that occur in their texts

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

select ?author ?authorname (group_concat(distinct str(?lemma);SEPARATOR=", ") as ?terms) # (count(?bib_item) as ?in_how_many_articles) (lang(?lemma) as ?lang)
       
where { 
  ?lexical_entry wikibase:lemma ?lemma.
  ?bib_item endp:P40 ?author; 
            endp:P65 ?lexical_entry.
  ?author rdfs:label ?authorname. filter(lang(?authorname)="en")
} group by ?author ?authorname ?terms  order by ?authorname

Try it!

Authors, and in how many of their articles NeoVoc terms appear

#title: Authors, and in how many of their articles NeoVoc terms appear

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/>
PREFIX enno: <https://eneoli.wikibase.cloud/prop/novalue/>


select ?author ?lastname ?authorLabel (group_concat(distinct ?lang;SEPARATOR=", ") as ?language) (group_concat(distinct concat(str(?lemma)," (",str(?count),")");SEPARATOR=", ") as ?terms) # (count(?bib_item) as ?in_how_many_articles) (lang(?lemma) as ?lang)
       
where { 
  ?author endp:P52 ?lastname.
  
 { SELECT ?author ?lang ?lemma (count(?bib_item) as ?count)
                    where {
    ?bib_item endp:P40 ?author; endp:P7 [rdfs:label ?lang]. filter (lang(?lang)="en")
    ?bib_item endp:P65 [wikibase:lemma ?lemma].
                          } group by ?author ?lang ?lemma ?count order by ?count desc(lcase(str(?lemma)))
         
 } SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,de,fr,pt". }
} group by ?author ?lastname ?authorLabel ?langauge ?terms  order by ?lastname

Try it!


All articles that contain terms denoting one concept

#title: All articles that contain terms denoting one concept, here: "Q976" Neologism

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

select ?concept ?conceptLabel ?article ?articleLabel ?article_languageLabel
       
where { bind(enwb:Q976 as ?concept) # change "Q976" for another concept
  ?article endp:P5 enwb:Q2; endp:P7 ?article_language; endp:P65 [ontolex:sense [endp:P12 enwb:Q976]]. 
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

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(?equiv_st) 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 ?validator (count(?equiv_st) 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. 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: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!

Checks for inconsistencies

Is there any mismatching equivalent-to-lexemesense link?

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 ?concept ?equiv_st ?equiv_mylang ?descript_mylang (iri(concat(str(wd:),?wd)) as ?wikidata) ?from_sense ?from_lemma ?to_sense

where {
  ?concept endp:P5 enwb:Q12. # instances of "NeoVoc Concept"
  optional {?concept endp:P1 ?wd.}

  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv_mylang.
  filter not exists {?equiv_st enpq:P58 ?warning.} # no warning
  ?equiv_st enpq:P64 ?validator. # has been validated.
  ?equiv_st enpq:P63 ?to_sense. # equivalent is linked to some sense.
  bind(iri(concat(str(enwb:),?to_sense)) as ?from_sense)
  ?lexeme ontolex:sense ?from_sense; wikibase:lemma ?from_lemma.
  filter (?from_lemma != ?equiv_mylang)
  ?from_sense endp:P12 ?concept. # from no lexeme sense of that language there is a link to this equivalent
  optional {} # is there a lexeme sense already linked from this concept (for the mylang language)?
  optional {?concept schema:description ?descript_mylang. filter(lang(?descript_mylang)=lang(?equiv_mylang))}	
} order by lcase(?equiv_mylang)

Try it!

Is there any linked lexeme sense not linked back from the equivalent?

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 ?lexeme ?lemma ?sense_id ?equiv

where {
  ?lexeme ontolex:sense ?sense; wikibase:lemma ?lemma.
  ?sense endp:P12 ?concept.
  ?concept enp:P57 ?equiv_st. ?equiv_st enps:P57 ?equiv.
  filter(?lemma = ?equiv)
  bind(strafter(str(?sense),str(enwb:)) as ?sense_id)
   filter not exists {
     ?equiv_st enpq:P63 ?sense_id.
     }
}

Try it!