1. SELECT Ausdrücke/Aggregationsfunktionen Berechne die Durchschnittsseitenzahl von Artikeln PREFIX rdf: PREFIX bench: PREFIX swrc: SELECT (AVG(?pages) as ?averagePages) WHERE { ?article rdf:type bench:Article. ?article swrc:pages ?pages. } 2. Aggregationsfunktionen/Group By - Having Berechne die Anzahl der Artikel pro Jahr und stelle nur die Jahre dar, die mehr als 20 Artikel besitzen PREFIX rdf: PREFIX bench: PREFIX swrc: PREFIX dcterms: SELECT ?year (COUNT(?year) as ?numberOfArticles) WHERE { ?article rdf:type bench:Article. ?article swrc:journal ?journal. ?journal dcterms:issued ?year. } Group by ?year Having (COUNT(?year) > 20) 3. Unteranfragen Nehme nun auch die Artikel in das Resultat mit auf. PREFIX rdf: PREFIX bench: PREFIX swrc: PREFIX dcterms: SELECT ?article ?numberOfArticles WHERE { ?article rdf:type bench:Article. ?article swrc:journal ?journal. ?journal dcterms:issued ?year. { SELECT ?year (COUNT(?year) as ?numberOfArticles) WHERE { ?article rdf:type bench:Article. ?article swrc:journal ?journal. ?journal dcterms:issued ?year. } Group by ?year Having (COUNT(?year) > 20) } } order by ?numberOfArticles 4. NOT EXISTS Alle Artikel, die nicht auf CD-ROM erschienen sind PREFIX rdf: PREFIX bench: PREFIX swrc: PREFIX dcterms: SELECT ?article WHERE { ?article rdf:type bench:Article. FILTER NOT EXISTS{?article bench:cdrom ?cdrom} } 5. MINUS Dieselbe Aufgabenstellung wie 4., jedoch nun zu lösen mit dem MINUS-Sprachkonstrukt. PREFIX rdf: PREFIX bench: PREFIX swrc: PREFIX dcterms: SELECT ?article WHERE { ?article rdf:type bench:Article. MINUS {?article bench:cdrom ?cdrom} } 6.Pfade Ausgehend von foaf:Document formuliere einen Pfadausdruck, um alle Instanzen von foaf:Document und dessen transitive Hülle der Unterklassen zu ermitteln. PREFIX rdf: PREFIX rdfs: PREFIX foaf: SELECT * WHERE { foaf:Document ^rdfs:subClassOf*/^rdf:type ?instance. }