Restriktionen und Konsistenzprüfungen

Die GND als (potenzielle) Wissensbasis bietet bereits jetzt zahlreiche Ansatzpunkte, mit denen sich mögliche Inkonsistenzen aufdecken lassen.

Im jetzigen Datemodell lässt sich feststellen, wo eine Tätigkeit als Architekt (gndo:architect) beispielsweise von einer Person ohne Berufsangabe "Architekt", "Architektin" oder "Baumeister" ausgeführt wurde:

SELECT * WHERE
{
?bauwerk gndo:architect ?akteur .
MINUS { ?akteur gndo:professionOrOccupation gnd:4002844-6 } # Architekt
MINUS { ?akteur gndo:professionOrOccupation gnd:4131695-2 } # Architektin
MINUS { ?akteur gndo:professionOrOccupation gnd:4232800-7 } # Baumeister
}

womit wir Instanzen der Property gndo:architect erhalten, bei denen in der Objekt-Position Personen mit anderen Berufen wie "Künstler", "Gärtner", "Bildhauer", aber auch Spezialisierungen von "Architekt" wie "Gartenarchitekt", "Festungsbaumeister" vorkommen.

Ein offensichtlicher Nachteil dieses Vorgehens ist, dass alle Ausschlusskriterien vorab angegeben werden müssen.

Prüfung mittels Sachgruppen

Neben den durch Object Properties ausgedrückten Beziehungen zwischen GND-Instanzen sind nahezu alle Sachbegriffe und Geografika sowie mehr als eine Million Personen und Körperschaften einer oder mehreren GND-Sachgruppen zugeordnet. Diese Ebene der Wissensorganisation weist eine Granularität auf, die in der Ontologie nur mit unverhältnismäßig hohem Aufwand zu erzielen wäre. Allerdings sind die GND-Sachgruppen weder als Axiomensystem formuliert, noch folgt die Einteilung einem logisch konsistenten Entwurfsmuster.

Mit Hilfe der Sachgruppen lassen sich Konsistenzprüfungen auf einer höheren Abstraktionsebene als im vorangegangenen Beispiel ausführen.

SELECT * WHERE
{
?bauwerk gndo:architect ?akteur .
MINUS { ?akteur gndo:gndSubjectCategory gndsc:31.3p }
}

Hiermit erhalten wir Instanzen der Property gndo:architect, bei denen das Aussageobjekt nicht der GND-Sachgruppe 31.3p "Personen zu Architektur, Bautechnik" angehört. Dies kann in einigen Fällen begründet sein, mehrheitlich finden wir hier jedoch Personen mit Berufsangabe "Architekt", denen die Zuordnung zur einschlägigen Sachgruppe fehlt.

Der GND-Sachbegriff "Architekt" hat folgende Sachgruppen-Zuordnungen:
gnd:4002844-6 gndo:gndSubjectCategory
gndsc:31.3a , # Architektur
gndsc:9.4ab . # Berufe, Tätigkeiten

und das Bibliotheksgebäude in Florenz hat
gnd:1170707793 gndo:gndSubjectCategory
gndsc:31.3ab . # Ortsgebundene Bauwerke

Hieraus lässt sich eine andere Variante der Konsistenzprüfung gewinnen:

SELECT * WHERE
{
?bauwerk gndo:architect ?akteur .
?akteur a gndo:DifferentiatedPerson .
MINUS { ?akteur gndo:professionOrOccupation ?beruf .
?beruf gndo:gndSubjectCategory gndsc:31.3a } # Architektur
}

womit wir Instanzen der Property gndo:architect erhalten, bei denen das Aussageobjekt eine Person ist, die nicht mit einem Sachschlagwort versehen sind, das der Sachgruppe 31.3a ("Architektur") angehört. Diese Prüfung ist insofern abstrakter, als uns hier die fraglichen Berufe nicht bekannt sein müssen, sondern durch die Extension der Sachgruppe gegeben sind. Tatsächlich finden wir hierdurch Instanzen von gndo:DifferentiatedPerson, die als Architekten informell beschrieben sind, denen aber eine einschlägige Berufsangabe (gndo:professionOrOccupation) als Sachschlagwort fehlt.

Um Konsistenzprüfungen mittels Sachgruppen noch etwas abstrakter zu machen, könnten wir aus den Sachgruppen-Notationen Hierarchiebeziehungen gewinnen, zum Beispiel:

gndsc:31.3a iso-thes:superordinateConceptGroup gndsc:31.3 . # Architektur
gndsc:31.3b iso-thes:superordinateConceptGroup gndsc:31.3 . # Bautechnik
gndsc:31.3ab iso-thes:superordinateConceptGroup gndsc:31.3 . # Ortsgebundene Bauwerke
gndsc:31.3p iso-thes:superordinateConceptGroup gndsc:31.3 . # Personen zu Architektur, Bautechnik

womit sowohl die Tätigkeit des Herrn Bazzani (Architekt), die Person Bazzani selbst (Person zu Architektur, Bautechnik) wie auch das Bibliotheksgebäude in Florenz (Ortsgebundenes Bauwerk) unter die Sachgruppe 31.3 ("Architektur, Bautechnik") fiele.

Formulieren wir nun die Prämisse, wonach alle Aussagesubjekte der Property gndo:architect irgendetwas mit Architektur oder Bautechnik zu tun haben sollen, so können wir dies mit der vereinfachten Klausel skos:broader* gndsc:31.3 angeben. Da uns bei der Konsistenzprüfung vor allem die Komplementärmenge interessiert, erhalten wir mit

SELECT * WHERE
{ ?bauwerk gndo:architect ?akteur .
MINUS { ?bauwerk gndo:gndSubjectCategory [ skos:broader* gndsc:31.3 ] }
}

Aussagesubjekte, die Sachgruppen wie 10.7b (Raumordnung, Stadtplanung ...), 13.2 (Plastik), oder keiner Sachgruppe angehören.

Übertragen auf die vorgeschlagene Modellierungsvariante würde diese Konsistenzprüfung etwa so aussehen:

SELECT * WHERE
{
  ?bauwerk ex:hasContribution
     [ ex:byAgent ?akteur; ex:inRole gnd:4002844-6 ] .
  MINUS { ?bauwerk gndo:gndSubjectCategory [ skos:broader* gndsc:31.3 ] }
}

Prüfung mittels Sachbegriffen

Im vorgeschlagenen Modell kann forciert werden, dass die Rolle "Architekt" nur Personen zusteht, für die "Architekt" als Beruf oder Tätigkeit angegeben ist:

SELECT * WHERE
{
  ?bauwerk ex:hasContribution
     [ ex:byAgent ?akteur; ex:inRole gnd:4002844-6 ] .
  MINUS { ?akteur gndo:professionOrOccupation gnd:4002844-6 }
}

würde alle Vorkommnisse finden, wo ein Bauwerk von jemandem in der Rolle "Architekt" entworfen wurde, der nicht die Berufsangabe "Architekt" hat.

Hätte "Architekt" einen gemeinsamen Oberbegriff mit "Baumeister" usw., könnte die Konformitätsprüfung mit der transitiven Hülle des Oberbegriffs erfolgen.