ISSUE-14: as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object

as:Link

as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object

State:
CLOSED
Product:
Activity Streams 2.0
Raised by:
Pavlik elf
Opened on:
2015-02-23
Description:
In AS2.0 Core spec: http://www.w3.org/TR/2015/WD-activitystreams-core-20150129/#link

This continues discussion in two github issues
* as:Link from Linked Data perspective + comparing with hydra:Link - https://github.com/jasnell/w3c-socialwg-activitystreams/issues/24

* clarify consequences of choice between as:Object and as:Link - https://github.com/jasnell/w3c-socialwg-activitystreams/issues/57

Main issues I noticed so far:

1. AS2.0 Vocabulary uses Object | Link for domain and/or range in many properties
http://www.w3.org/TR/2015/WD-activitystreams-vocabulary-20150129/ (search for 'Object | Link' shows 43 such cases)

2. Currently some examples in latest published core spec use as:Link in JSON-LD while as:Object in RDFa (IMO it gives strong example of confusion it may cause, even author of the spec didn't use it in a consistent way!)
http://www.w3.org/TR/2015/WD-activitystreams-core-20150129/#example-2

3. as:Link breaks JSON-LD embedding
http://www.w3.org/TR/json-ld/#embedding
and may cause issue with JSON-LD framing
http://json-ld.org/spec/latest/json-ld-framing/ (work in progress)

To stay honest, I don't see strong use cases requiring as:Link which would justify adding all this complexity and possibilities for confusion. Still if we decide to keep it, we should explain clearly when to use as:Link and when as:Object, elaborating on various consequences of making such choice.
Related Actions Items:
Related emails:
  1. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-22)
  2. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-22)
  3. RE: Issue-14: as:Link complexity (from byoung@bigbluehat.com on 2015-04-22)
  4. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-22)
  5. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-22)
  6. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-22)
  7. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-22)
  8. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-22)
  9. Re: Issue-14: as:Link complexity (from henry.story@bblfish.net on 2015-04-21)
  10. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-21)
  11. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-21)
  12. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-21)
  13. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-21)
  14. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-21)
  15. Re: Issue-14: as:Link complexity - AtomOwl (from henry.story@bblfish.net on 2015-04-21)
  16. Re: Issue-14: as:Link complexity (from perpetual-tripper@wwelves.org on 2015-04-21)
  17. Re: Issue-14: as:Link complexity (from perpetual-tripper@wwelves.org on 2015-04-21)
  18. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-20)
  19. Re: Issue-14: as:Link complexity (from perpetual-tripper@wwelves.org on 2015-04-20)
  20. Re: Issue-14: as:Link complexity (from azaroth42@gmail.com on 2015-04-19)
  21. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-19)
  22. Re: Issue-14: as:Link complexity (from perpetual-tripper@wwelves.org on 2015-04-19)
  23. Re: Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-19)
  24. Re: Issue-14: as:Link complexity (from evan@e14n.com on 2015-04-19)
  25. Re: Issue-14: as:Link complexity (from perpetual-tripper@wwelves.org on 2015-04-19)
  26. Pull request [jasnell/w3c-socialwg-activitystreams] removing as:Link in favour of as:Object (from jasnell@gmail.com on 2015-04-14)
  27. Issue-14: as:Link complexity (from jasnell@gmail.com on 2015-04-13)
  28. Re: social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from perpetual-tripper@wwelves.org on 2015-04-05)
  29. Re: social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from a.kuckartz@ping.de on 2015-04-05)
  30. Re: social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from perpetual-tripper@wwelves.org on 2015-04-04)
  31. Re: AS2 Issues List (from jasnell@gmail.com on 2015-03-31)
  32. Re: AS2 Issues List (from perpetual-tripper@wwelves.org on 2015-03-31)
  33. AS2 Issues List (from jasnell@gmail.com on 2015-03-31)
  34. Fwd: Re: List of commonly used property names when used as *inverse*? (from perpetual-tripper@wwelves.org on 2015-03-30)
  35. Re: social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from perpetual-tripper@wwelves.org on 2015-03-27)
  36. Re: social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from perpetual-tripper@wwelves.org on 2015-03-10)
  37. Re: social-ISSUE-16 (grammar/vocabulary): better separate grammar/vocabulary and improved spec structure [Activity Streams 2.0] (from perpetual-tripper@wwelves.org on 2015-03-09)
  38. social-ISSUE-14 (elf-pavlik): as:Link adds a lot of complexity, if we keep it we need to clarify consequences of using it instead of as:Object [Activity Streams 2.0] (from sysbot+tracker@w3.org on 2015-02-23)

Related notes:

AS2.0 Core spec only uses as:Link for meta information about MediaObjects, also relevant work on
https://www.w3.org/wiki/Socialwg/MediaObject

Pavlik elf, 3 Mar 2015, 12:01:50

as:Link instances used as as:memberOf as:Collection


as:memberOf a owl:ObjectProperty ;
rdfs:label "memberOf"@en ;
rdfs:range as:Collection ;
rdfs:domain [
a owl:Class ;
owl:unionOf ( as:Object as:LinkNotHandler )
] ;
owl:inverseOf as:items .

Pavlik elf, 17 Mar 2015, 10:33:20

example of how different people could try two using different 'slangs'

{
"@context": "http://www.w3.org/ns/activitystreams",
"@id": "http://example.com/my-silly-note"
"@type": "Note",
"content": "A simple note",
"inReplyTo": {
"@id": "http://example.com/my-silly-reply"
"@type": "Note",
"content": "Another note"
}
}

{
"@context": "http://www.w3.org/ns/activitystreams",
"@id": "http://example.com/my-silly-note"
"@type": "Note",
"content": "A simple note",
"inReplyTo": {
"@type": "Link",
"rel": "in-reply-to",
"href": "http://example.com/my-silly-reply"
}
}

we can also see here how using as:Link breaks JSON-LD embeding

Pavlik elf, 18 Mar 2015, 13:04:11

example of behavior with default language from James' email
https://lists.w3.org/Archives/Public/public-socialweb/2015Apr/0081.html

"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"
}
}
}
]
}
"

Pavlik elf, 21 Apr 2015, 06:45:16

Display change log ATOM feed


Tantek Çelik <tantek@cs.stanford.edu>, Evan Prodromou <evan@e14n.com>, Chairs, Sandro Hawke <sandro@w3.org>, Amy Guy <rhiaro@w3.org>, Staff Contacts
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: index.php,v 1.325 2014-09-10 21:42:02 ted Exp $