LD.LEO: Unterschied zwischen den Versionen

Aus LeipzigWiki
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
=== Pakete ===
=== Pakete ===


Die Wissensbasis ist in Pakete unterteilt, in denen einzelne Teile der Wissensbasis nach Management-Gesichtspunkten zusammengefasst sind. Typischerweise enthält ein Paket alle Einträge zu Subjekten, die zur selben Klasse gehören. Namensräume innerhalb von leipzig-data.de haben stets ein Präfix der Form leipzig-data.de/Data/<Paketname>/, allerdings werden Pakete auch zu anderen Strukturierungszwecken verwendet, so dass es nicht notwendig zu jedem Paketnamen URIs mit einem solchen Präfix gibt.
Die Wissensbasis ist in Pakete unterteilt, in denen einzelne Teile der Wissensbasis nach Management-Gesichtspunkten zusammengefasst sind. Typischerweise enthält ein Paket alle Einträge zu Subjekten, die zur selben Klasse gehören. Namensräume innerhalb von leipzig-data.de haben stets ein Präfix der Form leipzig-data.de/Data/<Paketname>/, allerdings werden Pakete auch zu anderen Strukturierungszwecken verwendet, so dass es nicht notwendig zu jedem Paketnamen URIs mit einem solchen Präfix gibt. Typischerweise ist der Paketname im Plural, der Namensraumpräfix der damit organisierten Instanzen im Singular.
:Also etwa ''leipzig-data.de/Data/Personen/'' für das Paket und ''leipzig-data.de/Data/Person/'' als Namenspräfix für Instanzen von ''ld:Person'', die in ''Personen.ttl'' aufgelistet sind.  


Namensräume:
* Adressen.ttl - Instanzen von ld:Adresse und ld:Strasse
* ld: leipzig-data.de/Data/Model/ - alle relevanten Modellbegriffe (Klassen, Prädikate)
* Personen.ttl - Instanzen von ld:NatuerlichePerson
* leipzig-data.de/Data/Adresse/ - Adressen und Straßen in Leipzig (Adressen.ttl)
* Stadtbezirke.ttl - Instanzen von ld:Stadtbezirk
** Definiert die Klassen '''ld:Adresse''' und '''ld:Strasse'''.
* Tags.ttl - Instanzen von ld:InfoRecord, ld:Property, ld:Tag und ld:Type (vorläufig)
* leipzig-data.de/Data/Person/ - (natürliche) Personen in Leipzig (Personen.ttl)
** Definiert die Klassen '''ld:NatuerlichePerson'''.
* leipzig-data.de/Data/Stadtbezirk/ - die 63 Stadtbezirke in Leipzig (Stadtbezirke.ttl)
** Definiert die Klasse '''ld:Stadtbezirk'''
* leipzig-data.de/Data/Tag/ - Tags verschiedenen Kalibers zur Strukturierung (Tags.ttl)
** Definiert die Klassen '''ld:InfoRecord''', '''ld:Property''', '''ld:Tag''' und '''ld:Type'''.


=== Klassen ===
=== Namensräume und Klassen ===


* ld:Adresse - URIs haben typischerwise die Struktur plz.strasse_nummer, eine feinere Unterscheidung von Lokationsinformationen unter einer solchen Adresse erfolgt durch das Prädikat ld:hatAdressZusatz.
ld = leipzig-data.de/Data/Model/ - alle relevanten Modellbegriffe (Klassen, Prädikate)
* ld:NatuerlichePerson - URIs haben typischerwise die Struktur Nachname_Vorname nach fixID-Umwandlung
* '''ld:Adresse''' (definiert in Adressen.ttl) - URIs haben die Struktur ''leipzig-data.de/Data/Adresse/plz.strasse.nummer'' mit Postleitzahl ''plz'', ''strasse'' der fixId-transformierte Straßenname und Hausnummer ''nummer'' (incl. ggf. Zusatz).  
* '''ld:NatuerlichePerson''' (definiert in Personen.ttl) - URIs haben typischerwise die Struktur ''leipzig-data.de/Data/Person/Nachname_Vorname'' nach fixID-Transformation.
** Öffentliche Informationen zu Personen, weitere Informationen werden im internen Datenbestand des Projekts gesammelt und nicht veröffentlicht.
** Öffentliche Informationen zu Personen, weitere Informationen werden im internen Datenbestand des Projekts gesammelt und nicht veröffentlicht.
* ld:JuristischePerson - Namensschema ist noch festzulegen
* '''ld:JuristischePerson''' - Namensschema ist noch festzulegen
** Eine juristische Person kann weiteren Klassen wie ld:Verein, ld:Unternehmen zugeordnet werden, soll aber immer auch ld:JuristischePerson sein, um Inferenz längs Vererbungshierarchien zu vermeiden.
** Eine juristische Person kann weiteren Klassen wie ld:Verein, ld:Unternehmen zugeordnet werden, soll aber immer auch ld:JuristischePerson sein, um Inferenz längs Vererbungshierarchien zu vermeiden.
 
* '''ld:Stadtbezirk''' (definiert in Stadtbezirke.ttl) - Als URI wird ''leipzig-data.de/Data/Stadtbezirk/stadtbezirk'' verwendet, wobei ''stadtbezirk'' der fixId-transformierte Name des Stadtbezirks verwendet.
** '''Eigenschaften''': ld:hasAPIId, ld:hasStadtId Literal - Id's in den Stadtdaten bzw. Daten von API Leipzig.
* '''ld:Strasse''' - (definiert in Adressen.ttl) Als URI wird typischerweise ''leipzig-data.de/Data/Strasse/strasse'' verwendet, wobei ''strasse'' der fixId-transformierte Straßenname ist und Mehrwortnamen zu Strings ohne Leerzeichen zusammengezogen werden. Existiert der Straßenname mehrfach, wird ''strasse.stadtbezirk'' verwendet (das ist noch einzubauen).
** '''Eigenschaften''': ld:hasStreetKey - Literal. Straßenschlüssel der Stadt Leipzig.


Tagsystem:
Tagsystem:
* Klassen '''ld:InfoRecord''', '''ld:Property''', '''ld:Tag''' und '''ld:Type'''
* Klassen '''ld:InfoRecord''', '''ld:Property''', '''ld:Tag''' und '''ld:Type'''
** Die genaue Behandlung dieser Strukturen muss noch diskutiert werden. Instanzen von ld:Tag dienen auf jeden Fall dazu, Tagwolken aufzubauen.
** Die genaue Behandlung dieser Strukturen muss noch diskutiert werden. Instanzen von ld:Tag dienen auf jeden Fall dazu, Tagwolken aufzubauen.

Version vom 6. Januar 2013, 20:42 Uhr

Home > Leipzig Open Data und LD.Datenprojekt

LEO - Leipziger Ontologie

Zur Herstellung von Interoperabilität auf Datenebene ist es erforderlich, sich über das dabei verwendete Vokabular zu einigen. Ein erster Ansatz für ein solches Vokabular ist mit der LD.Ontologie vorgelegt. Der relevante Abstimmungsprozess soll und wird im Rahmen der Leipzig Data Aktivität wenigstens für längerfristig persistente Datenbestände auf der apileipzig Liste zügig weiter vorangetrieben werden.

URIs

Über URIs (Unique Resource Identifier) werden Ressourcen identifiziert, über die RDF-Tripel (also letztlich Sätze) in der Wissensbasis gesammelt werden. In jedem RDF-Tripel sind die ersten beiden Einträge (Subjekt und Prädikat) unbedingt URIs, der dritte (Objekt) ein Literal (String) oder ebenfalls eine URI. Während URIs für Subjekte und Objekte (also Knoten im entsprechenden RDF-Graphen) im Normalfall Objektinstanz-Bezeichner sind und damit eine realweltliche Entsprechung haben, sind URIs für Prädikate Begriffs-Bezeichner und gehören zum Modell.

URIs dienen zwar dazu, Informationen in maschinenlesbarer Form vorzuhalten, es ist aber eine gute Regel, sprechende Namen als Bezeichner zu vergeben. Jeder Bezeichner soll deshalb die Gestalt leipzig-data.de/Data/<Paketname>/EinfacherBezeichner haben, wobei EinfacherBezeichner den regulären Ausdruck [A-Za-z0-9._] matcht und CamelCase-Notation sowie '_' (minor variation) und '.' (major variation) als Trennzeichen die Lesbarkeit weiter verbessern. Für verschiedene Typen von Objektinstanzen gibt es feinere Namensgebungsregeln.

Dazu werden Umlaute und andere Sonderzeichen nach den fixID-Regeln in reine ASCII-Strings transformiert.

Alle Modellbegriffe haben Bezeichner aus dem Paket Data, Objektinstanz-Bezeichner verteilen sich auf verschiedene paketspezifische Namensräume.

Pakete

Die Wissensbasis ist in Pakete unterteilt, in denen einzelne Teile der Wissensbasis nach Management-Gesichtspunkten zusammengefasst sind. Typischerweise enthält ein Paket alle Einträge zu Subjekten, die zur selben Klasse gehören. Namensräume innerhalb von leipzig-data.de haben stets ein Präfix der Form leipzig-data.de/Data/<Paketname>/, allerdings werden Pakete auch zu anderen Strukturierungszwecken verwendet, so dass es nicht notwendig zu jedem Paketnamen URIs mit einem solchen Präfix gibt. Typischerweise ist der Paketname im Plural, der Namensraumpräfix der damit organisierten Instanzen im Singular.

Also etwa leipzig-data.de/Data/Personen/ für das Paket und leipzig-data.de/Data/Person/ als Namenspräfix für Instanzen von ld:Person, die in Personen.ttl aufgelistet sind.
  • Adressen.ttl - Instanzen von ld:Adresse und ld:Strasse
  • Personen.ttl - Instanzen von ld:NatuerlichePerson
  • Stadtbezirke.ttl - Instanzen von ld:Stadtbezirk
  • Tags.ttl - Instanzen von ld:InfoRecord, ld:Property, ld:Tag und ld:Type (vorläufig)

Namensräume und Klassen

ld = leipzig-data.de/Data/Model/ - alle relevanten Modellbegriffe (Klassen, Prädikate)

  • ld:Adresse (definiert in Adressen.ttl) - URIs haben die Struktur leipzig-data.de/Data/Adresse/plz.strasse.nummer mit Postleitzahl plz, strasse der fixId-transformierte Straßenname und Hausnummer nummer (incl. ggf. Zusatz).
  • ld:NatuerlichePerson (definiert in Personen.ttl) - URIs haben typischerwise die Struktur leipzig-data.de/Data/Person/Nachname_Vorname nach fixID-Transformation.
    • Öffentliche Informationen zu Personen, weitere Informationen werden im internen Datenbestand des Projekts gesammelt und nicht veröffentlicht.
  • ld:JuristischePerson - Namensschema ist noch festzulegen
    • Eine juristische Person kann weiteren Klassen wie ld:Verein, ld:Unternehmen zugeordnet werden, soll aber immer auch ld:JuristischePerson sein, um Inferenz längs Vererbungshierarchien zu vermeiden.
  • ld:Stadtbezirk (definiert in Stadtbezirke.ttl) - Als URI wird leipzig-data.de/Data/Stadtbezirk/stadtbezirk verwendet, wobei stadtbezirk der fixId-transformierte Name des Stadtbezirks verwendet.
    • Eigenschaften: ld:hasAPIId, ld:hasStadtId Literal - Id's in den Stadtdaten bzw. Daten von API Leipzig.
  • ld:Strasse - (definiert in Adressen.ttl) Als URI wird typischerweise leipzig-data.de/Data/Strasse/strasse verwendet, wobei strasse der fixId-transformierte Straßenname ist und Mehrwortnamen zu Strings ohne Leerzeichen zusammengezogen werden. Existiert der Straßenname mehrfach, wird strasse.stadtbezirk verwendet (das ist noch einzubauen).
    • Eigenschaften: ld:hasStreetKey - Literal. Straßenschlüssel der Stadt Leipzig.

Tagsystem:

  • Klassen ld:InfoRecord, ld:Property, ld:Tag und ld:Type
    • Die genaue Behandlung dieser Strukturen muss noch diskutiert werden. Instanzen von ld:Tag dienen auf jeden Fall dazu, Tagwolken aufzubauen.