fnielsen / ordia

Wikidata lexemes presentations
https://ordia.toolforge.org
Apache License 2.0
24 stars 13 forks source link

Generation of quickstatements #158

Open fnielsen opened 1 year ago

fnielsen commented 1 year ago

Example: add suffix-derived word instances to Danish nouns

SELECT (GROUP_CONCAT(?line; separator="\n") AS ?qs) {
  ?lexeme dct:language wd:Q9035 ;
          wikibase:lexicalCategory wd:Q1084 ;
          wdt:P5238 wd:L41160 ;
          wikibase:lemma ?lemma .
  OPTIONAL { ?lexeme wdt:P5238 ?verb_lexeme .
             ?verb_lexeme wikibase:lexicalCategory wd:Q24905 ; 
                          wikibase:lemma ?verb_lemma . }
  MINUS { ?lexeme wdt:P31 wd:Q112263731 }
  BIND(CONCAT(SUBSTR(STR(?lexeme), 32), ",Q112263731") AS ?line)
  BIND(1 as ?dummy)
}
GROUP BY ?dummy
fnielsen commented 1 year ago

This is better, see also https://github.com/WDscholia/scholia/issues/2152

SELECT 
  ?qs # ?verb_lemma
WHERE {
  { BIND("qid,P31" AS ?qs) }
  UNION
  {
    ?lexeme dct:language wd:Q9035 ;
            wikibase:lexicalCategory wd:Q1084 ;
            wdt:P5238 wd:L36823 ;
            wikibase:lemma ?lemma .
    OPTIONAL { ?lexeme wdt:P5238 ?verb_lexeme .
               ?verb_lexeme wikibase:lexicalCategory wd:Q24905 ; 
                            wikibase:lemma ?verb_lemma . }
    MINUS { ?lexeme wdt:P31 wd:Q112263731 }
    BIND(CONCAT(SUBSTR(STR(?lexeme), 32), ",Q112263731") AS ?qs)
  }
}