(testovano na http://sparql.org/sparql.html) 1/ PREFIX keg: SELECT ?name ?mail ?url FROM WHERE { ?member keg:completeName ?name; keg:email ?mail . OPTIONAL { ?member keg:webPage ?url . } } 2/ PREFIX dc: PREFIX rss: PREFIX xsd: SELECT ?posttitle ?posturl ?postdate FROM WHERE { ?post rss:title ?posttitle . ?post dc:creator "Frederick Giasson" . ?post rss:link ?posturl . ?post dc:date ?postdate . FILTER (xsd:dateTime(?postdate) > "2011-09-22T00:00:00Z"^^xsd:dateTime) } 3/ PREFIX foaf: PREFIX dc: SELECT ?title ?weblog FROM WHERE { ?author foaf:interest . ?author foaf:weblog ?weblog . ?weblog dc:title ?title . } 4/ dve reseni pro ctvrty ukol: 1.) porovnani pres jmena autoru (?name) PREFIX foaf: PREFIX dc: SELECT DISTINCT ?name ?username FROM FROM WHERE { ?item dc:creator ?name . ?author foaf:name ?name . ?author foaf:holdsAccount ?account . ?account foaf:accountServiceHomepage . ?account foaf:accountName ?username . } 2.) porovnani pres adresy weblogu autoru (?weblogurl a ?weblogtxt) - tohle je trochu "hack", protoze http://planetrdf.com/index.rdf uvadi adresy weblogu ne jako URI, ale jako literaly, takze se ve FILTER musi URI prevest na literal (pomoci funkce str()) a porovnat PREFIX foaf: PREFIX dc: SELECT ?name ?username ?weblog FROM FROM WHERE { ?item dc:relation ?weblogtxt . ?author foaf:weblog ?weblogurl . ?author foaf:name ?name . ?author foaf:holdsAccount ?account . ?account foaf:accountServiceHomepage . ?account foaf:accountName ?username . FILTER(str(?weblogurl) = ?weblogtxt) }