User:Christian Erlinger

From FactGrid
Jump to navigation Jump to search

Item:Q402158

ZHB Luzern Logo farbig.svg

Christian Erlinger
Project Manager (E-Services, E-Sciences)
Zentral- und Hochschulbibliothek Luzern
Luzern, LU, CH

https://orcid.org/0000-0001-7872-9617


Notes

Federated Query

Untenstehende Abfrage entstand aus einer Diskussion mit dem ISGV. Im Projekt zu den historischen Reiseberichten kam die Frage auf, wie die Erfassung des Geschlechtsmerkmals bei unbekannten/spekulativen AutorInnen modelliert werden kann. Eine pragmatische Idee besteh darin, bei Wikidata:P2093 (author Name String) als Qualifer das Geschlecht zu ergänzen. Ein Problem besteht darin, dass nicht gut belegt werden kann, das zwar der Name durch den Druck belegt ist, das Geschlecht aber eine rein heuristische Ableitung darstellt. Für ein eigenständiges Wikidata-Item scheint die Angelegenheit aber oft zu spekulativ. Daher kam die Idee in solchen Fällen spekulative Items in Factgrid anzulegen. Solche AutorInnen sind im Wikidata-Werks-Item mit P2093 als String angelegt, haben aber zusätzlich eine RefNode mit Factgrid-QID, dort wird alles was bekannt ist modelliert, bspw. auch das Geschlecht. Untenstehende Federate Query in Factgrid schafft es die Werkitems aus Wikidata abzufragen und je nach Quelle (P50/P2093->Qualifier/P2093->Factgrid) das Geschlecht abzufragen:

# Prefix standard 
# Factgrid
PREFIX fg: <https://database.factgrid.de/entity/>
PREFIX fgt: <https://database.factgrid.de/prop/direct/>
# Wikidata
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX pr: <http://www.wikidata.org/prop/reference/>
# misc
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?item ?author ?geschlecht ?factgridId WITH {
SELECT DISTINCT * WHERE {
  SERVICE <https://query.wikidata.org/sparql> {
    ?item wdt:P1343 wd:Q105102869.
    #<http://www.wikidata.org/entity/Q109943920>  p:P2093 ?authorStrStmt.
      OPTIONAL {
      ?item p:P50 ?authorStmt.
      ?authorStmt ps:P50 ?authorValue.    
      OPTIONAL {  ?authorValue wdt:P21 ?geschlecht. ?authorValue  rdfs:label ?authorLabel. FILTER(LANG(?authorLabel) = "de") }
      OPTIONAL { ?authorValue wdt:P227 ?gnd. }
      BIND(IF((wikibase:isSomeValue(?authorValue)),"unknown",?authorLabel) AS ?author)
      }
      OPTIONAL {
      ?item p:P2093 ?authorStrStmt.  
      ?authorStrStmt ps:P2093 ?author.
      #OPTIONAL { ?authorStrStmt pq:P21 ?geschlecht. }
      OPTIONAL { ?authorStrStmt pq:P1932 ?authorAltName. }
      OPTIONAL {  ?authorStrStmt prov:wasDerivedFrom ?refNode.      
      ?refNode pr:P8168 ?factgridId. }
      #BIND(IRI(CONCAT(STR(fg:),?factgridId)) as ?factgridItem)      
      }
      BIND(COALESCE(IRI(CONCAT(STR(fg:),?factgridId)),"") AS ?factgridItem)      
   } 
}
}
AS %travellogues
WHERE {
include %travellogues
   #Here now i want to query the gender-property of a factgrid item if given in the above wdqs-result set like:
   { OPTIONAL { ?factgridItem fgt:P154 ?geschlecht. }  }
}

Run the Query