I'm trialing Stardog now and immediately ran in to the same issue as this closed discussion:
I can of course convert to Turtle format and generate my own blank node IDs myself, but it seems like I shouldn't have to. How are JSON-LD data imports intended to be used with multiple named graphs in Stardog currently?
In the previous post, Stephen wrote:
it just happens that the spec doesn't account for additional JSON-LD documents being loaded into the same graph,
I discovered the preserve.bnodes.ids database setting, which I've tried setting to false. When this is false, importing named quads files produces IDs more in line with what I'd expect. That is, they include random strings. For example:
_:genid-9951ae3382c1489f8f896ed74e7cddc9-b0
However, importing JSON-LD files still produces blank node ids that conflict.
Maybe I'm missing something fundamental, but I was surprised that generating IDs wasn't the default, and when it is enabled (that is preserving is disabled), it appears that JSON-LD importing is broken in that it does not respect this setting.
Having stated my intuition, I'm extremely new to this stuff. Am I missing something?