#!/usr/bin/python ## modifying an rdf data store from rdflib.URIRef import URIRef from rdflib.Literal import Literal from rdflib.BNode import BNode from rdflib.Namespace import Namespace from rdflib.constants import TYPE # Import RDFLib's default TripleStore implementation. from rdflib.TripleStore import TripleStore ## create a namespace object for FOAF FOAFNS = Namespace("http://xmlns.com/foaf/0.1/") store = TripleStore('foaf.rdf') for item in store.subjects() : for names in store.objects(item, FOAFNS["name"]) : if names == 'Chris Brooks' : brooksNode = item ### Now, let's create a new node that'll indicate that I know Prof. Benson. benson = BNode() store.add((benson, FOAFNS["name"], Literal("Greg Benson"))) store.add((benson, FOAFNS["name"], Literal("Greg Benson"))) store.add((benson, FOAFNS["title"], Literal("Dr"))) store.add((benson, FOAFNS["homepage"], URIRef("http://www.cs.usfca.edu/~benson"))) store.add((brooksNode, FOAFNS["knows"], URIRef(benson))) ## save to a file as XML/RDF store.save('foaf3.rdf')