Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

as:verb - consequences of using blank node identifier (eg. _:post) #36

Closed
elf-pavlik opened this issue Oct 19, 2014 · 3 comments
Closed

Comments

@elf-pavlik
Copy link
Member

Discussion started in issues#23

TL;DR during processing RDF we can't depend on identifiable blank nodes identifiers, also related to persisting in triple stores "seeAlso": "levelgraph/levelgraph-jsonld#8 (comment)"

Expanded

  "http://activitystrea.ms/2.0/verb": [
    {
      "@id": "_:post"
    }
  ]

Compacted

  "http://activitystrea.ms/2.0/verb": {
    "@id": "_:post"
  }

Flattened

  "http://activitystrea.ms/2.0/verb": {
    "@id": "_:b1"
  }

Framed

  "http://activitystrea.ms/2.0/verb": {
    "@id": "_:b1"
  }

N-Quads

  _:b0 <http://activitystrea.ms/2.0/verb> _:b1 .

Normalized

  _:c14n1 <http://activitystrea.ms/2.0/verb> _:c14n0 .

"as:cc": ["@jasnell", "@lanthaler", "@gkellogg"]

@elfpavlik will report after #17 -> automated testing runs <- #32

"seeAlso": " https://github.com/bergos/rdf-ext/issues/3"

@elf-pavlik
Copy link
Member Author

http://www.w3.org/2010/02/rdfa/sources/rdf-interfaces/#triples

BlankNode
[...]
Note: Blank node identifiers are only guaranteed to be unique within a single instance of a single Graph, the string form of a blank node identifier cannot be relied upon over time; that is to say, two graphs may hold different blank nodes which both stringify as ":b2", and the same blank node within the same graph may have the stringified identifier ":x23" in one instance and "_:ui9x" in another.

http://www.w3.org/2010/02/rdfa/sources/rdf-interfaces/#blank-nodes

value of type any, readonly
The temporary identifier of the BlankNode, the value may be of any type, so long as it is unique and can be stringified, for instance a number or a string.
The value must not be relied upon in any way between two separate processing runs of the same document, or two instances of Graph containing "the same" triples.

Developers and authors must not assume that the value of a BlankNode will remain the same between two processing runs. BlankNode values are only valid for the most recent processing run on the document. BlankNodes values will often be generated differently by different processors.

@jasnell
Copy link
Collaborator

jasnell commented Nov 4, 2014

Mapping to a blank node is important for preventing data loss through initial JSON-LD expansion. Yes, there are issues, but it keeps data from being dropped on the floor. The "proper" solution is for the terms to be defined in a @context but without such a @context mapping to blank nodes gives us an interim solution.

@elf-pavlik
Copy link
Member Author

resulution same as in #23

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants