3

When importing RDF into a triple store: Are referenced blank nodes (as object) gonna be merged or handled separately, as if they are distinct?

Example RDF to import into a triple store:

@prefix ex: <http://ex/> .
ex:foo ex:bar [
    ex:baz 42
], [
    ex:biz 24
] .

Tested with ARC2 and it assumes that these two blank nodes are the same and merges their values (ex:baz 42 and ex:biz 24).

Is that correct?

Based on the following posts, i assume this is incorrect. I would expect that two separate blank node instances are created.

Posts:

  1. How to distinguish between two Blank Nodes in RDF?
  2. The difference between blank nodes and variables in SPARQL queries
Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
k00ni
  • 315
  • 4
  • 17
  • 3
    Seems to be a bug... Possibly related: https://github.com/semsol/arc2/issues/61 . What if you are inserting `ex:foo ex:bar [ ex:baz 42]; ex:bar [ ex:biz 24].` or `ex:foo ex:bar [ ex:baz 42]. ex:foo ex:bar [ ex:biz 24].`? The results should be the same. – Stanislav Kralin Jan 14 '18 at 17:26
  • 1
    Hi Stanislav, thanks for comment. This is more like a general problem i would like to get solved. Is there something in the specification, which i miss? Or is that behavior eventually undefined and each triple store can decide? Greetings. – k00ni Jan 15 '18 at 20:46
  • In short, you are absolutely correct and ARC2 is a buggy software... 1. Within a single "context", blank nodes are "different", unless they have same blank node labels. 2. Blank nodes from different "contexts" are "different" even they have same blank node labels. I collected many quotes on 2 [here](https://stackoverflow.com/tags/blank-nodes/info). As for 1, I think this is obvious... But you can search appropriate paragraphs in the specs quoted. – Stanislav Kralin Jan 15 '18 at 21:01

1 Answers1

1

Until someone states otherwise, i will answer my question based on the feedback of Stanislav Kralin.

When importing data, are referenced blank nodes gonna be merged or handled separately?

Blank nodes with different IDs have to be handled separately.

k00ni
  • 315
  • 4
  • 17