I think you should just hardcode a rootId and not let the caller choose it. I (the caller) don't gain anything by being able to choose it - it's just extra work for me.

Having a hardcoded root ID (let's say it's "0" for example) also makes debugging a graph way easier. I can open a sqlite prompt and always know what the root is - as opposed to having to investigate the code and configuration of the app to find out.