Wikipedia:Lua/Modul/Hiero/Saqqara

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Datenhaltungsmodul

[Quelltext bearbeiten]

Dieses Modul dient der Datenhaltung für Informationsblöcke zu den einzelnen Einträgen in der Königsliste von Sakkara.

Es sollen noch Zugriffsmethoden für die Verwendung in Vorlagen erstellt werden.

Die Daten können auch aus Wikidata Query Service ausgelesen werden.

Zugriff über den Namen eines Pharaos

[Quelltext bearbeiten]

Der Name, bzw. das Lemma unter dem ein Pharao bekannt ist, ist sprachabhängig. Ein erster Datenblock dient dem performanten Zugriff auf die Position innerhalb der Königsliste und die Identifikatoren ("Q..."), unter denen die sprachabhängigen Informationen verfügbar sind. Die Daten hierzu sind in Wikidata verfügbar über die Abfrage:

SELECT DISTINCT ?PharaoLabel ?Section ?Row ?Column ?Pharao WHERE {
  ?Pharao p:P1343 ?statement0.
  ?statement0 ps:P1343 wd:Q1054563;
    pq:P7421 ?Row;
    pq:P4775 ?Section;
    pq:P3903 ?Column.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "de". }
}
ORDER BY ?PharaoLabel

(ausführen)

Zugriff über einen Wikidata-Qualifikator

[Quelltext bearbeiten]

Der Wikidata zugriff auf die sprachabhängigen Beschreibungen ist "teuer". Um auf die Daten mehrerer, oder aller Sakkara-Könige zugreifen zu können, wurden diese hier repliziert. Darüber hinaus kann hier eine Übersetzung eingetragen werden, die in Wikidata noch nicht eingetragen ist. Von dieser Übersetzung abgesehen können die entsprechenden Wikidata-Daten über nachfolgende Abfrage tabellarisch aufgelistet werden:

SELECT DISTINCT ?QNr ?PharaoLabel ?Local (GROUP_CONCAT(?SciTrans; SEPARATOR = " oder ") AS ?Scientifical) WHERE {
  ?Pharao p:P1343 ?statement0.
  ?statement0 ps:P1343 wd:Q1054563.
  OPTIONAL { ?statement0 pq:P2440 ?SciTrans. }
  OPTIONAL {
    ?statement0 pq:P1705 ?Local.
    FILTER((LANG(?Local)) = "de")
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "de". }
  BIND( SUBSTR(xsd:string(?Pharao), 33) AS ?QNr)
}
GROUP BY ?Pharao ?QNr ?PharaoLabel ?Local
ORDER BY xsd:integer(?QNr)

(ausführen)

Zugriff über die Position in der Königsliste

[Quelltext bearbeiten]

Von der Königsliste von Sakkara sind zwei Abschnitte erhalten. Um über Abschnitt, Zeile und Spalte auf die Daten eines Pharaos zugreifen zu können, steht eine dritte Tabelle zur Verfügung. Diese enthält keine sprachabhängigen Daten. Über die Daten, die mit nachfolgender Abfrage aus Wikidata heraus ermittelt werden können, hinaus enthält diese Tabelle zusätzlich noch Informationen zum Präfix, zur Lesbarkeit in der Liste und zur chronologischen Reihenfolge.

SELECT DISTINCT ?Pharao ?Name ?inDyn ?Gender ?Dynastie WHERE {
  ?Pharao p:P1343 ?statement0.
  ?statement0 ps:P1343 wd:Q1054563;
    pq:P7421 ?Row;
    pq:P4775 ?Section;
    pq:P3903 ?Column;
    pq:P7383 ?Name.
  ?Pharao p:P21 ?statement1.
  ?statement1 ps:P21 ?Gnd.
  ?Pharao p:P31 ?statement2.
  ?statement2 ps:P31 ?Dyn.
  VALUES ?Dyn { wd:Q110670190 wd:Q110644602 wd:Q110643371 wd:Q110559092 wd:Q110556685 wd:Q110552024
                wd:Q110884310 wd:Q110550681
                wd:Q110551377 wd:Q110576405 }
  OPTIONAL{?statement2 pq:P1545 ?inDyn.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]".
                          ?Dyn rdfs:label ?Dynastie.
                          ?Gnd rdfs:label ?Gender.
                         }
}
ORDER BY (?Section) (?Row) (xsd:integer(?Column))

(ausführen)