- From: Sarven Capadisli <info@csarven.ca>
- Date: Wed, 1 Mar 2023 09:47:29 +0200
- To: public-swicg@w3.org
On 2023-03-01 00:43, Bob Wyman wrote: > I would like to use ActivityStreams/ActivityPub to distribute > annotations, as defined in the W3C's Web Annotation Data Model > <https://www.w3.org/TR/annotation-model/>. Other than convincing other > clients or servers to recognize Annotations, what compatibility issues > exist between the relevant specs? For instance, the ActivityPub > <https://www.w3.org/TR/activitypub/> specification relies on the > ActivityStreams Activity Vocabulary > <https://www.w3.org/TR/activitystreams-vocabulary> to define a set of > object types > <https://www.w3.org/TR/activitystreams-vocabulary/#object-types> that > does not include "Annotation." If I wish to use "Annotation" as an > object-type while remaining compatible with Activity* documentation, do > I need to get that Vocabulary extended? Or, is some less cumbersome > approach available and appropriate? Also, are there any existing > ActivityPub services that use W3C Annotations? > > Below, you'll find an example of what I'm trying to do. The idea here is > that I want to annotate the Vocabulary's use of "xsd:dateTime" with the > text: "A wise choice!." So, I use the ActivityPub Create action to > publish an object of type Annotation that links the body of my > annotation (the text: "A wise choice!") to the Vocabulary via its URL. > The precise location and span of my annotation within the document is > found by using the specified selector. > > { > "@context": "https://www.w3.org/ns/activitystreams > <https://www.w3.org/ns/activitystreams>", > "type": "Create", > "actor": "https://example.com/bob <https://example.com/bob>", > "published": "2023-02-28T19:36:51Z", > "to": ["https://example.com/alice/ <https://example.com/alice/>", > "https://example.com/mary/ <https://example.com/mary/>"], > "object": { > "@context": "http://www.w3.org/ns/anno.jsonld > <http://www.w3.org/ns/anno.jsonld>", > "id": "http://example.org/annotation#id=32B24 > <http://example.org/annotation#id=32B24>", > "type": "Annotation", > "body": { > "type": "TextualBody", > "value": "<p>A wise choice!</p>", > "format": "text/html", > "language": "en" > }, > "target": { > "source": "https://www.w3.org/TR/activitystreams-vocabulary/ > <https://www.w3.org/TR/activitystreams-vocabulary/>", > "selector": { > "type": "TextQuoteSelector", > "exact": "xsd:dateTime", > "prefix": " properties defined as", > "suffix": " values must conform" > } > } > } > } > > bob wyman > The section I wrote in https://www.w3.org/TR/activitystreams-core/#example-using-multiple-vocabularies includes an example with Web Annotation. AS2, LDN, and Web Annotation are among some of the specifications that's implemented by https://dokie.li/ ( https://github.com/linkeddata/dokieli ) as part of the original implementations of ActivityPub client-server client ( https://activitypub.rocks/implementation-report/ ). Live example using AS2 (Create) and Web Annotation (TextQuoteSelector): https://linkedresearch.org/annotation/csarven.ca/%23i/87bc9a28-9f94-4b1b-a4b9-503899795f6e The server (not an AP server) can respond with a representation using application/ld+json, text/turtle, and text/html (yes, 100% human- and machine-readable in RDFa). -Sarven https://csarven.ca/#i
Received on Wednesday, 1 March 2023 07:47:49 UTC