Ontologie
Vokabular der Portaldaten
Der Namensraum fn: löst auf diese Seite auf. Hier steht, was jede eigene Klasse, jede Beziehung und jede Knoteneigenschaft des Entity Graph bedeutet, worauf sie angewendet wird und was als Wert zulässig ist.
Namensraum: https://fischnavigator.com/vocab/. Die maschinenlesbare Fassung in RDFS und OWL steht unter /vocab.jsonld, der Graph selbst unter /entity-graph.jsonld.
Wo Schema.org einen Begriff mit passendem Wertebereich führt, wird dieser verwendet. Ein eigener Begriff entsteht nur, wo das nicht zutrifft — etwa bei fn:relatedTo: schema:relatedLink erwartet eine URL, hier steht eine Entität.
Der Graph führt derzeit 438 Knoten und 2641 Beziehungen über 438 stabile Kennungen. Jede Kante trägt einen Herkunftsnachweis auf das strukturierte Feld, aus dem sie entstanden ist; ohne Nachweis bricht der Build ab.
Klassen
| Klasse | Bezeichnung (de / en) | Unterklasse von | Bedeutung |
|---|---|---|---|
| fn:Entity | Entität / Entity | schema:Thing | Eine dauerhaft identifizierte Sache des Portals: Fischart, Gewässer, Meer, Region, Rechtsraum, Land, Angelziel, Methode, Studie, Quelle, Thema, Rechtsaussage oder redaktioneller Artikel. Die Identität liegt in der append-only Registry entity-identifiers.json, nicht in Titel oder URL. |
| fn:Relation | Beziehung / Relation | rdf:Statement | Eine vergegenständlichte Beziehung zwischen zwei Entitäten. Sie trägt Ausgangsknoten, Prädikat, Zielknoten und mindestens einen Herkunftsnachweis auf das strukturierte Feld, aus dem sie entstanden ist. |
Beziehungen
Die Spalte „Kanten“ nennt den Bestand aus src/data/graph-stats.json. Die Spalte „Prädikat“ nennt den Wert, unter dem die Beziehung im Graphmodell und im @context steht.
| Eigenschaft | Bezeichnung (de / en) | Domain | Range | Umkehrung | Kanten | Bedeutung |
|---|---|---|---|---|---|---|
| fn:occursIn occurs_in | kommt vor in / occurs in | fn:Entity Fischart | fn:Entity Land, Region oder Rechtsraum | fn:containsSpecies | 504 | Die Art ist im Zielgebiet nachgewiesen. Grundlage ist ausschliesslich das Vorkommen-Ledger vorkommen.json. |
| fn:containsSpecies contains_species | beherbergt Art / contains species | fn:Entity Land, Region oder Rechtsraum | fn:Entity Fischart | fn:occursIn | 504 | Die umgekehrte Sicht auf fn:occursIn. |
| fn:hostsSpecies hosts_species | führt Fischart / hosts species | fn:Entity Gewässer oder Meer | fn:Entity Fischart | fn:livesIn | 117 | Das Gewässer oder Meer führt die Art als Leit- oder Zielfisch. Grundlage sind die aufgezählten Felder des Gewässer- und Meerprofils, nicht Fliesstext. |
| fn:livesIn lives_in | lebt in / lives in | fn:Entity Fischart | fn:Entity Gewässer oder Meer | fn:hostsSpecies | 117 | Die umgekehrte Sicht auf fn:hostsSpecies. Bewusst getrennt von fn:occursIn: Dort ist das Ziel ein Verwaltungsgebiet, hier ein Gewässerkörper. |
| fn:locatedIn located_in | liegt in / located in | fn:Entity Gewässer, Meer oder Angelziel | fn:Entity Region, Rechtsraum oder Land | — | 80 | Der geografische Ort eines Gewässerkörpers oder Angelziels. Bewusst nicht schema:containedInPlace: Ziel ist ein Entitätsknoten des Graphen, keine schema:Place-Instanz aus fremden Daten. |
| fn:targetsSpecies targets_species | zielt auf Fischart / targets species | fn:Entity Angelmethode oder Angelziel | fn:Entity Fischart | — | 36 | Die Methode oder das Angelziel ist auf diese Art gerichtet. Grundlage sind die aufgezählten Zielfischfelder, nicht die Nennung im Fliesstext. |
| fn:governedBy governed_by | unterliegt Rechtsraum / governed by | fn:Entity Region oder Gewässer | fn:Entity Rechtsraum | — | 105 | Die Region oder das Gewässer liegt im Geltungsbereich des Fischereirechts dieses Rechtsraums (scope.legal_scope). |
| fn:basedOn based_on | stützt sich auf / based on | fn:Entity | fn:Entity Quelle aus dem Ledger | — | 262 | Die Entität nennt die Quelle als Grundlage. Ziel ist immer ein Eintrag aus quellen.json, nie eine freie URL. |
| fn:supportedBy supported_by | belegt durch / supported by | fn:Entity Rechtsaussage oder Rechtsraum | fn:Entity Quelle aus dem Ledger | — | 12 | Die Aussage wird durch die genannte amtliche Fundstelle belegt. |
| fn:asserts asserts | trägt die Aussage / asserts | fn:Entity Rechtsraum oder Rechtsseite | fn:Entity Rechtsaussage | — | 246 | Die Seite oder der Rechtsraum trägt die belegte fischereirechtliche Aussage. |
| fn:appliesIn applies_in | gilt in / applies in | fn:Entity Rechtsaussage | fn:Entity Rechtsraum oder Land | — | 246 | Der Geltungsbereich der Rechtsaussage. |
| fn:relatedTo related_to | verwandt mit / related to | fn:Entity | fn:Entity | — | 261 | Redaktionell gepflegter Querverweis zwischen zwei Entitäten. Bewusst nicht schema:relatedLink: dessen Wertebereich ist eine URL, hier steht eine Entität. |
Übernommene Begriffe
Diese Prädikate des Graphen sind Schema.org-Begriffe und werden hier nicht neu definiert, weil Bedeutung und Wertebereich dort deckungsgleich sind.
| Prädikat | Ausgegeben als | Kanten | Bedeutung |
|---|---|---|---|
| part_of | schema:isPartOf | 51 | Einordnung in die übergeordnete Gebietskörperschaft. Ausgegeben als schema:isPartOf, weil Bedeutung und Wertebereich dort deckungsgleich sind. |
| about | schema:about | 100 | Gegenstand eines redaktionellen oder wissenschaftlichen Beitrags. Ausgegeben als schema:about. |
Knoteneigenschaften
Eigenschaften ohne eigene Domain-Angabe gelten für fn:Entity. Externe Kennungen aus Wikidata, GBIF und dem Catalogue of Life stehen nicht in dieser Tabelle: Sie werden beim Ausgeben in schema:identifier und schema:sameAs umgeschrieben und brauchen daher keinen eigenen Begriff.
| Eigenschaft | Bezeichnung (de / en) | Domain | Range | Bedeutung |
|---|---|---|---|---|
| fn:entityType | Entitätstyp / entity type | fn:Entity | xsd:string | Interner Typ des Knotens (fish_species, water, sea, region, jurisdiction, study …). |
| fn:record | Datensatz / record | fn:Entity | xsd:string | Herkunftsdatei und Record-ID, aus der der Knoten stammt. |
| fn:contentType | Inhaltstyp / content type | fn:Entity | xsd:string | Redaktioneller Inhaltstyp des Datensatzes. |
| fn:scientificName | wissenschaftlicher Name / scientific name | fn:Entity | xsd:string | Binomen der Fischart. |
| fn:taxonRank | taxonomischer Rang / taxon rank | fn:Entity | xsd:string | Rang des Taxons; group kennzeichnet Sammelprofile ohne eigenen Rang. |
| fn:classGroup | Gruppenklasse / class group | fn:Entity | xsd:string | Gruppierung des Artdatensatzes im Fischatlas (Salmoniden, Raubfische, Cypriniden …). |
| fn:wikidata | Wikidata-Kennung / Wikidata id | fn:Entity | xsd:string | Q-Kennung des Gewässers oder Meeres. Arten tragen ihre externen Kennungen stattdessen unter fn:externalIdentifiers. |
| fn:waterKind | Gewässerart / water kind | fn:Entity | xsd:string | Fluss, See, Talsperre, Bodden oder Kanal. |
| fn:destinationKind | Zielart / destination kind | fn:Entity | xsd:string | Art des Angelziels (Revier, Region, Küstenabschnitt). |
| fn:lengthKm | Länge in km / length in km | fn:Entity | xsd:decimal | Lauflänge eines Flusses in Kilometern. |
| fn:maxDepthM | maximale Tiefe in m / maximum depth in m | fn:Entity | xsd:decimal | Grösste bekannte Tiefe des Gewässers in Metern. |
| fn:coordinates | Koordinaten / coordinates | fn:Entity | xsd:decimal | Repräsentativer Punkt als [Längengrad, Breitengrad] in WGS 84. |
| fn:bbox | Umgebungsrechteck / bounding box | fn:Entity | xsd:decimal | Umgebungsrechteck als [West, Süd, Ost, Nord] in WGS 84. |
| fn:osmId | OSM-Kennung / OSM id | fn:Entity | xsd:string | OpenStreetMap-Objekt in der Form typ/nummer, geprüft von scripts/validate_osm_refs.py. Daten unter ODbL. |
| fn:gear | Gerät / gear | fn:Entity | xsd:string | Aufgezählte Gerätebestandteile einer Angelmethode. |
| fn:countryCode | Ländercode / country code | fn:Entity | xsd:string | ISO 3166-1 alpha-2. |
| fn:administrativeCodes | Verwaltungscodes / administrative codes | fn:Entity | xsd:string | Gepflegte ISO-3166-2-Codes der Gebietskörperschaft. |
| fn:adminUnits | Verwaltungseinheiten / administrative units | fn:Entity | xsd:string | Verwaltungseinheiten aus dem Regionsdatensatz. |
| fn:iso | ISO-Code / ISO code | fn:Entity | xsd:string | ISO-3166-2-Code des Rechtsraums. |
| fn:officialSource | amtliche Quelle / official source | fn:Entity | xsd:anyURI | Amtliche Rechtsinformationsstelle des Rechtsraums (RIS, Fedlex, Landesrechtsportal). |
| fn:topic | Thema / topic | fn:Entity | xsd:string | Thema der fischereirechtlichen Aussage (Schonzeit, Mindestmass, Fischereischein …). |
| fn:sourceType | Quellenart / source type | fn:Entity | xsd:string | amtlich, peer_reviewed, verband, medien oder ergaenzend. |
| fn:publisher | Herausgeber / publisher | fn:Entity | xsd:string | Herausgeber der Quelle. |
| fn:quelleId | Ledger-Kennung / ledger id | fn:Entity | xsd:string | Kennung im Quellen-Ledger quellen.json. |
| fn:accessedAt | abgerufen am / accessed at | fn:Entity | xsd:date | Abrufdatum der Quelle. |
| fn:doi | DOI / DOI | fn:Entity | xsd:string | Digital Object Identifier der Originalpublikation. |
| fn:authors | Autoren / authors | fn:Entity | xsd:string | Autorenangabe der Studie in Zitierform. |
| fn:journal | Zeitschrift / journal | fn:Entity | xsd:string | Publikationsorgan der Studie. |
| fn:year | Jahr / year | fn:Entity | xsd:gYear | Erscheinungsjahr der Studie. |
| fn:from | Ausgangsknoten / subject | fn:Relation | fn:Entity | Ausgangsknoten einer vergegenständlichten Beziehung. |
| fn:to | Zielknoten / object | fn:Relation | fn:Entity | Zielknoten einer vergegenständlichten Beziehung. |
| fn:predicate | Prädikat / predicate | fn:Relation | xsd:string | Prädikat der Beziehung. |
| fn:evidence | Herkunftsnachweis / evidence | fn:Relation | xsd:string | Datei und Feld, aus dem die Beziehung entstanden ist. Ohne Nachweis bricht der Build ab. |
Stabilität
Begriffe werden nicht umbenannt und nicht umgedeutet. Ein Begriff, der nicht mehr gebraucht wird, bleibt definiert und wird als überholt gekennzeichnet; eine neue Bedeutung bekommt einen neuen Begriff. Dieselbe Regel gilt für die Entity-Kennungen in src/data/entity-identifiers.json, die append-only geführt werden.
Diese Seite und /vocab.jsonld beschreiben nicht, was der Graph enthalten soll, sondern was er enthält: npm run validate:graph bricht ab, wenn der Graph einen Begriff ausgibt, der hier fehlt — und ebenso, wenn hier ein Begriff steht, den der Graph nicht ausgibt.