Thanks @aucampia! I am starting from scratch here, so if RDF* was available then I'd probably go with that since it's the next big standard, but just good old RDF 1.1 would be ok
import rdflib
from rdflib.namespace import RDF
lit2019 = rdflib.Literal('2019-01-01', datatype=rdflib.XSD.date)
lit2020 = rdflib.Literal('2020-01-01', datatype=rdflib.XSD.date)
bob = rdflib.URIRef("http://example.org/people/Bob")
google = rdflib.URIRef("http://example.org/companies/Google")
workedAt = rdflib.URIRef("http://example.org/stuff/0.1/workedAt")
startTime = rdflib.URIRef("http://example.org/stuff/0.1/startTime")
endTime = rdflib.URIRef("http://example.org/stuff/0.1/endTime")
g = rdflib.Graph()
position = (bob, workedAt, google)
reified_position = (position, RDF.type, RDF.Statement)
g.add(position)
g.add(reified_position)
g.add((reified_position, startTime, lit2019))
I tried running this but can't add that second triple, I guess I'd have to make it a BNode?