Zum Inhalt

SPARQL-Abfragen

Abfragen zu den Lehrplänen

  • Welche Lehrpläne gibt es im Bundesland Sachsen?

Direkter Link zum SPARQL-Endpunkt

PREFIX lehrplan: <https://w3id.org/lehrplan/ontology/LP_0000438>
PREFIX von_bundesland: <https://w3id.org/lehrplan/ontology/LP_0000029>
PREFIX sachsen: <https://w3id.org/lehrplan/ontology/LP_3000047>

SELECT ?Lehrplan ?Titel
WHERE {
?Lehrplan a lehrplan: .
?Lehrplan von_bundesland: sachsen: .
?Lehrplan rdfs:label ?Titel .
}
oder

Direkter Link zum SPARQL-Endpunkt

PREFIX lehrplan_sachsen: <https://w3id.org/lehrplan/ontology/LP_0000818>

SELECT ?Lehrplan ?Titel
WHERE {
?Lehrplan a lehrplan_sachsen: .
?Lehrplan rdfs:label ?Titel .
}

  • Wie viele Lehrpläne gibt es in Sachsen?

Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX lehrplan_sachsen: <https://w3id.org/lehrplan/ontology/LP_0000818>

SELECT DISTINCT COUNT(?Lehrplan)
WHERE {
?Lehrplan a lehrplan_sachsen: .
}

  • Wie viele Lehrpläne gibt es in Rheinland-Pfalz?

Zählt alle Instanzen der Klasse Lehrplan im RP-Graphen: Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT (COUNT(DISTINCT ?lp) AS ?anzahl)
FROM <https://w3id.org/lehrplan/rp>
WHERE {
  ?lp rdf:type lp:LP_0000438 . # lp:LP_0000438 = Lehrplan
}

  • Lehrplananzahl der Bundesländer BY, SN, RP und BB nebeneinander

Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT ?bundesland (COUNT(DISTINCT ?lp) AS ?anzahl)
WHERE {
  { GRAPH <https://w3id.org/lehrplan/by> {
      ?lp rdf:type lp:LP_0000438 . }
    BIND("Bayern" AS ?bundesland) }
  UNION
  { GRAPH <https://w3id.org/lehrplan/sn> {
      ?lp rdf:type lp:LP_0000438 . }
    BIND("Sachsen" AS ?bundesland) }
  UNION
  { GRAPH <https://w3id.org/lehrplan/rp> {
      ?lp rdf:type lp:LP_0000438 . }
    BIND("Rheinland-Pfalz" AS ?bundesland) }
  UNION
  { GRAPH <https://w3id.org/lehrplan/bb> {
      ?lp rdf:type lp:LP_0000438 . }
    BIND("Brandenburg" AS ?bundesland) }
}
GROUP BY ?bundesland
ORDER BY DESC(?anzahl)

Abfragen zu Fächern

  • Welche Fächer gibt es im Bundesland Sachsen?

Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>

SELECT DISTINCT ?Schulfach
WHERE {
    ?s a lp:LP_0000001 . 
    ?s lp:LP_0000029 lp:LP_3000047 .
    ?s rdfs:label ?Schulfach .
} 

Listet alle Schulfächer aus dem zentralen Schulfach-Graphen, gefiltert auf das Präfix SN_: Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?fach ?label
FROM <https://w3id.org/schulfach/1.0.0>
WHERE {
  ?fach rdf:type   ?type ;
        rdfs:label ?label .
  FILTER( STRSTARTS(STR(?fach), "https://w3id.org/schulfach/SN") )
  FILTER( ?fach != sf:SN_0000000 ) # Root-Knoten ausblenden
}
ORDER BY ?label

  • Fächer von BY, SN, RP und BE/BB im Vergleich

Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?bundesland ?label
FROM <https://w3id.org/schulfach/1.0.0>
WHERE {
  VALUES (?prefix ?bundesland) {
    ("https://w3id.org/schulfach/BY" "Bayern")
    ("https://w3id.org/schulfach/SN" "Sachsen")
    ("https://w3id.org/schulfach/RP" "Rheinland-Pfalz")
    ("https://w3id.org/schulfach/BB" "Brandenburg")
  }
  ?fach a <https://w3id.org/lehrplan/ontology/LP_0000001> ;
        rdfs:label ?label .
  FILTER( STRSTARTS(STR(?fach), ?prefix) )
  FILTER( !REGEX(?label, "^Schulfächer") )
}
ORDER BY ?bundesland ?label

Abfragen zu den Schularten

  • Welche Schularten gibt es im Bundesland Sachsen?

Direkter Link zum SPARQL-Endpunkt

PREFIX schulart: <https://w3id.org/lehrplan/ontology/LP_0000111>
PREFIX sachsen: <https://w3id.org/lehrplan/ontology/LP_3000047>
PREFIX von_bundesland: <https://w3id.org/lehrplan/ontology/LP_0000029>

SELECT DISTINCT ?Schulart
WHERE {
    ?s a schulart: .
    ?s von_bundesland: sachsen: .
    ?s rdfs:label ?Schulart .
}

Abfragen zu Inhalten der Lehrpläne

  • In welchen Lehrplänen kommt der Begriff "Zelle" vor?

Sucht über alle vier Graphen nach Labels, die den Begriff enthalten, und gibt den zugehörigen Lehrplan sowie das Bundesland zurück. Die transitive Eigenschaft bfo:BFO_0000051+ (mit +) traversiert beliebig tief in die Hierarchie. Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?bundesland ?lpLabel ?treffer
WHERE {
  VALUES (?g ?bundesland) {
    (<https://w3id.org/lehrplan/by> "Bayern")
    (<https://w3id.org/lehrplan/sn> "Sachsen")
    (<https://w3id.org/lehrplan/rp> "Rheinland-Pfalz")
    (<https://w3id.org/lehrplan/bb> "Brandenburg")
  }
  GRAPH ?g {
    ?lp rdf:type        lp:LP_0000438 ;
        rdfs:label      ?lpLabel ;
        bfo:BFO_0000051+ ?node .      # transitiv: alle Ebenen
    ?node rdfs:label ?treffer .
    FILTER(CONTAINS(LCASE(?treffer), "zelle"))
  }
}
ORDER BY ?bundesland ?lpLabel ?treffer
  • Begriff in Beschreibungstexten (nicht nur labels) suchen

Schließt auch Beschreibungsliteral (lp:LP_0030051 = hat Beschreibung) ein – liefert mehr Treffer als reine Label-Suche. Bayern und Sachsen wurden hier beispielhaft verwendet. Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?bundesland ?lpLabel ?text
WHERE {
  VALUES (?g ?bundesland) {
    (<https://w3id.org/lehrplan/by> "Bayern")
    (<https://w3id.org/lehrplan/sn> "Sachsen")
  }
  GRAPH ?g {
    ?lp rdf:type   <https://w3id.org/lehrplan/ontology/LP_0000438> ;
        rdfs:label ?lpLabel ;
        <http://purl.obolibrary.org/obo/BFO_0000051>+ ?node .
    ?node ( rdfs:label | <https://w3id.org/lehrplan/ontology/LP_0030051> ) ?text .
    FILTER( CONTAINS(LCASE(STR(?text)), "zelle") )
  }
}
ORDER BY ?bundesland ?lpLabel
LIMIT 50

  • Lernbereiche Mathematik 5. Klasse in Bayern (Gymnasium)

Findet alle Lernbereiche (lp:LP_0002046) aus Lehrplänen, die Mathematik, Jahrgangsstufe 5 und Schulart Gymnasium kombinieren. In Bayern heißt die erste Strukturebene unterhalb des Lehrplans „Lernbereich". Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?lpLabel ?bereichLabel
FROM <https://w3id.org/lehrplan/by>
WHERE {
  ?lp rdf:type              lp:LP_0000438 ;       # Lehrplan
      rdfs:label            ?lpLabel ;
      lp:LP_0000537         ?fach ;               # hat Schulfach
      lp:LP_0000026         lp:LP_2000005 ;       # hat Jahrgangsstufe 5
      lp:LP_0000812         sa:BY_0000005 ;       # für Schulart Gymnasium
      bfo:BFO_0000051       ?bereich .            # hat Teil

  ?fach rdfs:label ?fachLabel .
  FILTER(CONTAINS(LCASE(?fachLabel), "mathematik"))

  ?bereich rdf:type   lp:LP_0002046 ;            # Lernbereich (BY)
           rdfs:label ?bereichLabel .
}
ORDER BY ?lpLabel ?bereichLabel

  • Kompetenzbereiche Mathematik in Rheinland-Pflaz

Direkter Link zum SPARQL-Endpunkt

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

SELECT DISTINCT ?lpLabel ?kbLabel
FROM <https://w3id.org/lehrplan/rp>
WHERE {
  ?lp rdf:type        lp:LP_0000438 ;
      rdfs:label      ?lpLabel ;
      lp:LP_0000537   ?fach ;
      bfo:BFO_0000051 ?kb .

  ?fach rdfs:label ?fachLabel .
  FILTER(CONTAINS(LCASE(?fachLabel), "mathematik"))

  ?kb rdf:type   lp:LP_0000431 ; # Kompetenzbereich (RP)
      rdfs:label ?kbLabel .
}
ORDER BY ?lpLabel ?kbLabel

Abfragen zur Struktur der Lehrpläne

  • Erste Strukturebene eines beliebigen Lehrplans

Bundeslandübergreifend: Gibt alle direkten Teilelemente (hat Teil) eines Lehrplans zurück – unabhängig vom konkreten Klassen-Namen.

PREFIX lp: <https://w3id.org/lehrplan/ontology/>
PREFIX sf: <https://w3id.org/schulfach/>
PREFIX sa: <https://w3id.org/schulart/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bfo:  <http://purl.obolibrary.org/obo/>

# <LEHRPLAN-URI> durch die konkrete URI ersetzen,
# <GRAPH-URI>    durch den passenden Graphen
SELECT DISTINCT ?elementLabel ?typ
FROM <GRAPH-URI>
WHERE {
  <LEHRPLAN-URI> bfo:BFO_0000051 ?element .
  ?element rdfs:label ?elementLabel .
  OPTIONAL { ?element rdf:type ?typ .
             FILTER(STRSTARTS(STR(?typ),
               "https://w3id.org/lehrplan/ontology/")) }
}
ORDER BY ?elementLabel
Direkter Link zu Beispiel mit bayrischem Lehrplan im SPARQL-Endpunkt Direkter Link zu Beispiel mit einem sächsischen Lehrplan im SPARQL-Endpunkt

  • Welche Verknüpfung besteht zwischen Element X und Element Y?

Direkte Relation X → Y oder Y → X:

Direkter Link zu Beispiel im SPARQL-Endpunkt

SELECT DISTINCT ?von ?praedikat ?nach
WHERE {
  GRAPH ?g {
    { <URI-VON-X> ?praedikat <URI-VON-Y> .
      BIND(<URI-VON-X> AS ?von)  BIND(<URI-VON-Y> AS ?nach) }
    UNION
    { <URI-VON-Y> ?praedikat <URI-VON-X> .
      BIND(<URI-VON-Y> AS ?von)  BIND(<URI-VON-X> AS ?nach) }
  }
}
ORDER BY ?von ?praedikat

Indirekter Pfad über Zwischenknoten Z (X→Z→Y):

Direkter Link zu Beispiel im SPARQL-Endpunkt

SELECT DISTINCT ?p1 ?z ?zLabel ?p2
WHERE {
  GRAPH ?g {
    { <URI-VON-X> ?p1 ?z . ?z ?p2 <URI-VON-Y> . }
    UNION
    { ?z ?p1 <URI-VON-X> . ?z ?p2 <URI-VON-Y> . }
  }
  OPTIONAL { ?z rdfs:label ?zLabel }
  FILTER( ?z != <URI-VON-X> && ?z != <URI-VON-Y> )
}
LIMIT 50

Alle Nachbarn und Properties eines Elements (Kontext-Dump):

Direkter Link zu Beispiel im SPARQL-Endpunkt

SELECT DISTINCT ?richtung ?praedikat ?praedikatLabel ?nachbar ?nachbarLabel
WHERE {
  GRAPH ?g {
    { <URI-VON-X> ?praedikat ?nachbar . BIND("→" AS ?richtung) }
    UNION
    { ?nachbar ?praedikat <URI-VON-X> . BIND("←" AS ?richtung) }
  }
  OPTIONAL { ?praedikat rdfs:label ?praedikatLabel }
  OPTIONAL { ?nachbar   rdfs:label ?nachbarLabel  }
}
ORDER BY ?richtung ?praedikat

Weitere konkretere Abfragen zu den Inhalten der Lehrpläne

  • Zeige mir die Kompetenzspezifikationen im Fach Mathematik für die 7. Klasse nach den verschiedenen Schularten in Sachsen

Direkter Link zum SPARQL-Endpunkt

SELECT DISTINCT ?schulartLabel ?lpLabel ?elementLabel
FROM <https://w3id.org/lehrplan/sn>
WHERE {
  ?lp rdf:type  <https://w3id.org/lehrplan/ontology/LP_0000438> ;
      rdfs:label ?lpLabel ;
      <https://w3id.org/lehrplan/ontology/LP_0000537> ?fach ;
      <https://w3id.org/lehrplan/ontology/LP_0000026> ?jg ;
      <https://w3id.org/lehrplan/ontology/LP_0000812> ?schulart ;
      <http://purl.obolibrary.org/obo/BFO_0000051>+  ?element .  # transitiv

  ?element <https://w3id.org/lehrplan/ontology/LP_0000483> <https://w3id.org/lehrplan/ontology/LP_0000479> . # Kompetenzbeschreibungsfunktion

  ?fach     rdfs:label ?fachLabel .
  ?jg       rdfs:label ?jgLabel .
  ?schulart rdfs:label ?schulartLabel .
  ?element  rdfs:label ?elementLabel .

  FILTER( CONTAINS(LCASE(STR(?fachLabel)), "mathematik") )
  FILTER( CONTAINS(STR(?jgLabel), "7") )
}
ORDER BY ?schulartLabel ?lpLabel ?elementLabel
  • Zeige mir die Niveaustufen, die in Berlin/Brandenburg den Lehrplanelementen zugeordnet sind

Direkter Link zum SPARQL-Endpunkt

SELECT DISTINCT ?lpLabel ?niveauLabel ?elemLabel 
FROM <https://w3id.org/lehrplan/bb>
WHERE {
?lp rdf:type  <https://w3id.org/lehrplan/ontology/LP_0000438> ;
      rdfs:label ?lpLabel ;
      <http://purl.obolibrary.org/obo/BFO_0000051>+    ?elem .

?elem <https://w3id.org/lehrplan/ontology/LP_0000578> ?niveau .

?elem <https://w3id.org/lehrplan/ontology/LP_0000024> ?elemTitel .
?elemTitel <https://w3id.org/lehrplan/ontology/LP_0000344> ?elemLabel .

?niveau rdfs:label ?niveauLabel .
}
  • Welcher Bereich aus Rheinland-Pfalz entspricht einem Element aus Bayern?

Konkretes BY-Element als Ausgangspunkt:

Direkter Link zum SPARQL-Endpunkt

SELECT DISTINCT ?rpLpLabel ?rpElementLabel
FROM <https://w3id.org/lehrplan/rp>
WHERE {
  ?rpLp rdf:type  <https://w3id.org/lehrplan/ontology/LP_0000438> ;
        rdfs:label ?rpLpLabel ;
        <http://purl.obolibrary.org/obo/BFO_0000051>+ ?rpEl .
  ?rpEl rdfs:label ?rpElementLabel .

  BIND("Natürliche Zahlen" AS ?suchbegriff)  # ← BY-Label hier eintragen
  FILTER( CONTAINS(LCASE(STR(?rpElementLabel)), LCASE(?suchbegriff)) )
}
ORDER BY ?rpLpLabel ?rpElementLabel

  • Welche Lerninhalte sind einem Bereich zugeordnet?

Beispiel: Alle Lerninhalte in Sachsen, die einem Bereich mit dem Stichwort "schreiben" zugeordnet sind: Direkter Link zum SPARQL-Endpunkt

SELECT DISTINCT
  ?lpLabel ?bereichLabel ?lerninhaltLabel
FROM <https://w3id.org/lehrplan/sn>
WHERE {
  ?bereich <https://w3id.org/lehrplan/ontology/LP_0000483>
             <https://w3id.org/lehrplan/ontology/LP_0000497> ; # Bereichsfunktion
             rdfs:label ?bereichLabel ;
             <http://purl.obolibrary.org/obo/BFO_0000051> ?lerninhalt .

  ?lerninhalt <https://w3id.org/lehrplan/ontology/LP_0000483>
              <https://w3id.org/lehrplan/ontology/LP_0000480> ; # Lerninhaltsbeschreibungsfunktion
              rdfs:label ?lerninhaltLabel .

  # Lehrplan-Zuordnung für Kontext
  ?lp a <https://w3id.org/lehrplan/ontology/LP_0000438> ;
      rdfs:label ?lpLabel ;
      <http://purl.obolibrary.org/obo/BFO_0000051>+ ?bereich .

  FILTER( CONTAINS(LCASE(STR(?bereichLabel)), "schreiben") )
}
ORDER BY ?lpLabel ?bereichLabel ?lerninhaltLabel

  • Wie unterscheiden sich die Inhalte im Fach Mathematik in der 10. Klasse in den verschiedenen Schularten in Sachsen?

  • Welche zusätzlichen Kompetenzen müssen erlangt werden im Leistungskurs Physik gegenüber dem Grundkurs Physik in Bayern?

  • Ich möchte alle Kompetenzbereiche im Fach Mathematik in Rheinland-Pfalz sehen.

  • Ich möchte alle Kompetenzen sehen, die in Berlin unter dem Kompetenzbereich "Mathematisch modellieren" in der Jahrgangsstufe 7 erworben werden müssen.

  • Ich möchte sehen, welche Lerninhalte in der 5. Klasse in dem Fach Biologie in Bayern im Unterricht gelehrt werden sollen.

  • Ich möchte alle Kompetenzbereiche in Französisch von der Primarstufe über die Sek I zur Sek II nach Jahrgangsstufe in Rheinland-Pfalz sehen.

  • Ich möchte alle Kompetenzspezifikationen des Kompetenzbereichs „Lesen“ des Fachs Deutsch in der Primarstufe sehen.

  • Ich möchte in Sachsen die unterschiedlichen Kompetenzen und Inhalte in Biologie nach Bildungsgang in der 8. Jahrgangsstufe sehen.

  • Ich möchte wissen, welche Kompetenzspezifikationen in Englisch von Jahrgangsstufe 1-9 in Bayern vorkommen aber in Brandenburg nicht.

  • Ich möchte abbilden, welche Kompetenzen im Fach Mathematik im Primarbereich erlernt werden und wie diese sich in der Sek I je nach Bildungsgang weiterentwickeln.

  • Welche Jahrgangsstufen umfasst die Niveaustufe C in Berlin im Gymnasium?