#!/bin/env python import joseki from sys import stdout from joseki import JosekiRequest from rdflib.URIRef import URIRef from rdflib.Namespace import Namespace # A better name for the "wildcard" in a triple match ANY = None # Declare constants: better to use namespaces DC = Namespace("http://purl.org/dc/elements/1.1/") dcTitle = DC['title'] # The target model URL # This is the Joseki online demo modelURL = "http://jena.hpl.hp.com:2020/books" book1 = URIRef("http://example.org/book/book1") book2 = URIRef("http://example.org/book/book2") book3 = URIRef("http://example.org/book/book3") book4 = URIRef("http://example.org/book/book4") book5 = URIRef("http://example.org/book/book5") # ---------------------------------------- print "==== Example 4 - Find all the books with a given title (a string)" store = joseki.triples(modelURL, None, dcTitle, "Harry Potter and the Goblet of Fire") for s, p, o in store.triples((ANY,ANY,ANY)): if str(p) == str(dcTitle): print s, "->", o else: print s, "->" ,p, "->", o theBook = store[book4] print "book4[dc:title] => ",theBook[dcTitle]