- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Tue, 21 Apr 2015 09:00:40 +0200
- To: James M Snell <jasnell@gmail.com>, Robert Sanderson <azaroth42@gmail.com>
- CC: "public-socialweb@w3.org" <public-socialweb@w3.org>, Evan Prodromou <evan@e14n.com>
On 04/21/2015 01:24 AM, James M Snell wrote:
> Consider this thought experiment: Take the following, process it down
> to N-QUADS, then convert it back to JSON-LD:
>
> {
> "items": [
> {
> "@context": {"@language": "en"},
> "@type": "Note",
> "displayName": "A Simple Note",
> "content": "This is a simple note",
> "image": {
> "@id": "http://example.org/img1.png",
> "displayName": "A Simple Caption"
> }
> },
> {
> "@context": {"@language": "sp"},
> "@type": "Note",
> "displayName": "Una nota simple",
> "content": "Esta es una simple nota",
> "image": {
> "@id": "http://example.org/img1.png",
> "displayName": "Un subtítulo sencilla"
> }
> }
> ]
> }
>
> _:b0 as:items _:b1 .
> _:b0 as:items _:b2 .
> _:b1 a as:Note .
> _:b1 as:displayName "A Simple Note"@en .
> _:b1 as:content "This is a simple note"@en .
> _:b1 as:image <http://example.org/img1.png> .
> _:b2 a as:Note .
> _:b2 as:displayName "Una nota simple"@sp .
> _:b2 as:content "Esta es una simple nota"@sp .
> _:b2 as:image <http://example.org/img1.png> .
> <http://example.org/img1.png> displayName "A Simple Caption"@en .
> <http://example.org/img1.png> displayName "Un subtítulo sencilla" .
>
> Serializing back into JSON-LD yields...
>
> {
> "items": [
> {
> "@context": {"@language": "en"},
> "@type": "Note",
> "displayName": "A Simple Note",
> "content": "This is a simple note",
> "image": {
> "@id": "http://example.org/img1.png",
> "displayNameMap": {
> "en": "A Simple Caption",
> "sp": "Un subtítulo sencilla"
> }
> }
> },
> {
> "@context": {"@language": "sp"},
> "@type": "Note",
> "displayName": "Una nota simple",
> "content": "Esta es una simple nota",
> "image": {
> "@id": "http://example.org/img1.png",
> "displayNameMap": {
> "en": "A Simple Caption",
> "sp": "Un subtítulo sencilla"
> }
> }
> }
> ]
> }
>
Thanks for this example James!
> Which is clearly not what was intended. It's a simple and somewhat
> contrived example but it illustrates the point that when a single
> Activity Streams document includes aggregated content, relying solely
> on JSON-LD embedding can lead to unexpected and often incorrect
> results.
What do you see 'incorrect' in this example? I understand that one might
expect displayName with just default language, still I don't understand
how do we get from 'possibly unexpected' to 'incorrect'?
I would also like to point out that we discuss scenario where someone
applies JSON-LD processing to the data. We could add simple note that
one should expect such behavior somewhere in ' Natural Language Values'
section. We might also create a detailed issue for that and ask help on
public-linked-json, maybe JSON-LD Framing could provide way to address
it. Still since we talk about case when someone chooses to use JSON-LD
algorithms, we can expect little more understanding of how for example
@language, dislayName and displayNameMap work together.
> Use of as:Link resolves these kinds of issues. Is it perfect?
> No. Is it useful. Yes. Can the examples in the spec be improved?
> Absolutely. But as I've said before, I'm absolutely -1 on removing
> as:Link.
I don't see anywhere in 'Link' section of a spec, explanation that it
helps with addressing possibly little unexpected behavior of displayName
/ displayNameMap in case of applying JSON-LD processing. I wonder if you
can provide some more examples of 'these kinds of issues'? Especially
ones which don't occur after processing with JSON-LD algorithms.
Cheers!
Received on Tuesday, 21 April 2015 07:01:14 UTC