I'm absolutely open minded to making this work better. Maybe parent in particular should be relegated to the hash, since it's most likely only used internally? That would, at least, get us away from (nil, parent), though we would still have (nil, context).

Anyway, I don't much like where we landed. It's not clear to me what the best solution is, though. I'm not horribly keen to sacrifice the outward facing simplicity of RdfResource.new(URI).