├── .github └── workflows │ └── fep-explainer.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── ERRATA.md ├── LICENSE.md ├── README.md ├── activitystreams-core ├── activitystreams-vocabulary ├── core ├── index.html ├── manifest ├── paging.png └── paging2.png ├── draft-extensions-policy.html ├── implementation-reports ├── README.md ├── activipy.md ├── activity-streams.js.md ├── activitystream-extension.md ├── annotation-protocol-server.md ├── distbin.com.md ├── dokieli.md ├── elucidate.md ├── jasnell-activitystrea.ms.md ├── mangoserver.md ├── pineapple-annotation.md ├── pubstrate.md ├── sloph.md ├── soci-el.md ├── socialstreams.md ├── sockethub.md └── template.md ├── issue_template.md ├── ns ├── activitystreams.jsonld ├── activitystreams1-context.jsonld ├── gen.php ├── index.html └── readme.md ├── test ├── .gitignore ├── LICENSE.md ├── README.md ├── bin │ ├── extract-as2-examples.js │ └── tlhasname.coffee ├── core-ex1-jsonld.json ├── core-ex11b-jsonld.json ├── core-ex11c-jsonld.json ├── core-ex11e-jsonld.json ├── core-ex11f-jsonld.json ├── core-ex12-jsonld.json ├── core-ex13-jsonld.json ├── core-ex14-jsonld.json ├── core-ex15-jsonld.json ├── core-ex17-jsonld.json ├── core-ex19-jsonld.json ├── core-ex2-jsonld.json ├── core-ex20-jsonld.json ├── core-ex21-jsonld.json ├── core-ex21b-jsonld.json ├── core-ex22-jsonld.json ├── core-ex23-jsonld.json ├── core-ex24-jsonld.json ├── core-ex27-jsonld.json ├── core-ex3-jsonld.json ├── core-ex4-jsonld.json ├── core-ex6-jsonld.json ├── core-ex7-jsonld.json ├── core-ex8-jsonld.json ├── empty.json ├── fail │ ├── array-at-top.json │ ├── bad-character-set.json │ ├── collection-with-non-page-first.json │ ├── content-map-with-invalid-language-tag.json │ ├── name-as-namemap.json │ ├── namemap-as-name.json │ ├── number-as-actor.json │ ├── number-as-content.json │ ├── number-as-context.json │ ├── number-as-id.json │ ├── number-as-name.json │ ├── number-as-object.json │ ├── number-as-type.json │ ├── number-at-top.json │ ├── ordered-collection-with-items.json │ ├── ordered-collection-with-non-page-first.json │ ├── other-context.json │ ├── relative-uri-for-url.json │ ├── string-at-top.json │ └── unordered-collection-with-ordered-items.json ├── package.json ├── simple0001.json ├── simple0002.json ├── simple0003.json ├── simple0004.json ├── simple0005.json ├── simple0006.json ├── simple0007.json ├── simple0008.json ├── simple0009.json ├── simple0010.json ├── simple0011.json ├── simple0012.json ├── simple0013.json ├── simple0014.json ├── simple0015.json ├── simple0016.json ├── simple0017.json ├── simple0018.json ├── simple0019.json ├── simple0020.json ├── simple0021.json ├── simple0022.json ├── simple0023.json ├── simple0024.json ├── simple0025.json ├── vocabulary-ex1-jsonld.json ├── vocabulary-ex10-jsonld.json ├── vocabulary-ex100-jsonld.json ├── vocabulary-ex101-jsonld.json ├── vocabulary-ex104-jsonld.json ├── vocabulary-ex105-jsonld.json ├── vocabulary-ex106-jsonld.json ├── vocabulary-ex108-jsonld.json ├── vocabulary-ex11-jsonld.json ├── vocabulary-ex112-jsonld.json ├── vocabulary-ex113-jsonld.json ├── vocabulary-ex118-jsonld.json ├── vocabulary-ex12-jsonld.json ├── vocabulary-ex120-jsonld.json ├── vocabulary-ex121-jsonld.json ├── vocabulary-ex123-jsonld.json ├── vocabulary-ex124-jsonld.json ├── vocabulary-ex125-jsonld.json ├── vocabulary-ex126-jsonld.json ├── vocabulary-ex127-jsonld.json ├── vocabulary-ex129-jsonld.json ├── vocabulary-ex13-jsonld.json ├── vocabulary-ex130-jsonld.json ├── vocabulary-ex130b-jsonld.json ├── vocabulary-ex131-jsonld.json ├── vocabulary-ex132-jsonld.json ├── vocabulary-ex133-jsonld.json ├── vocabulary-ex134-jsonld.json ├── vocabulary-ex136-jsonld.json ├── vocabulary-ex137-jsonld.json ├── vocabulary-ex138-jsonld.json ├── vocabulary-ex139-jsonld.json ├── vocabulary-ex140-jsonld.json ├── vocabulary-ex141-jsonld.json ├── vocabulary-ex142-jsonld.json ├── vocabulary-ex144-jsonld.json ├── vocabulary-ex145-jsonld.json ├── vocabulary-ex146-jsonld.json ├── vocabulary-ex147-jsonld.json ├── vocabulary-ex149-jsonld.json ├── vocabulary-ex15-jsonld.json ├── vocabulary-ex150-jsonld.json ├── vocabulary-ex152-jsonld.json ├── vocabulary-ex153-jsonld.json ├── vocabulary-ex156-jsonld.json ├── vocabulary-ex157-jsonld.json ├── vocabulary-ex158-jsonld.json ├── vocabulary-ex159-jsonld.json ├── vocabulary-ex16-jsonld.json ├── vocabulary-ex161-jsonld.json ├── vocabulary-ex163-jsonld.json ├── vocabulary-ex164-jsonld.json ├── vocabulary-ex166-jsonld.json ├── vocabulary-ex168-jsonld.json ├── vocabulary-ex169-jsonld.json ├── vocabulary-ex17-jsonld.json ├── vocabulary-ex170-jsonld.json ├── vocabulary-ex171-jsonld.json ├── vocabulary-ex173-jsonld.json ├── vocabulary-ex174-jsonld.json ├── vocabulary-ex175-jsonld.json ├── vocabulary-ex18-jsonld.json ├── vocabulary-ex180-jsonld.json ├── vocabulary-ex181-jsonld.json ├── vocabulary-ex181-jsonldb.json ├── vocabulary-ex182-jsonld.json ├── vocabulary-ex182-jsonldb.json ├── vocabulary-ex183-jsonld.json ├── vocabulary-ex184-jsonld.json ├── vocabulary-ex184a-jsonld.json ├── vocabulary-ex184b-jsonld.json ├── vocabulary-ex185-jsonld.json ├── vocabulary-ex185b-jsonld.json ├── vocabulary-ex185c-jsonld.json ├── vocabulary-ex186-jsonld.json ├── vocabulary-ex187-jsonld.json ├── vocabulary-ex188-jsonld.json ├── vocabulary-ex189-jsonld.json ├── vocabulary-ex19-jsonld.json ├── vocabulary-ex190-jsonld.json ├── vocabulary-ex191-jsonld.json ├── vocabulary-ex192-jsonld.json ├── vocabulary-ex193-jsonld.json ├── vocabulary-ex193b-jsonld.json ├── vocabulary-ex194-jsonld.json ├── vocabulary-ex196-jsonld.json ├── vocabulary-ex197-jsonld.json ├── vocabulary-ex198-jsonld.json ├── vocabulary-ex2-jsonld.json ├── vocabulary-ex20-jsonld.json ├── vocabulary-ex21-jsonld.json ├── vocabulary-ex22-jsonld.json ├── vocabulary-ex22a-jsonld.json ├── vocabulary-ex22c-jsonld.json ├── vocabulary-ex24-jsonld.json ├── vocabulary-ex26-jsonld.json ├── vocabulary-ex27-jsonld.json ├── vocabulary-ex28-jsonld.json ├── vocabulary-ex29-jsonld.json ├── vocabulary-ex3-jsonld.json ├── vocabulary-ex32-jsonld.json ├── vocabulary-ex33-jsonld.json ├── vocabulary-ex34-jsonld.json ├── vocabulary-ex37-jsonld.json ├── vocabulary-ex39-jsonld.json ├── vocabulary-ex42-jsonld.json ├── vocabulary-ex43-jsonld.json ├── vocabulary-ex48-jsonld.json ├── vocabulary-ex49-jsonld.json ├── vocabulary-ex5-jsonld.json ├── vocabulary-ex50-jsonld.json ├── vocabulary-ex51-jsonld.json ├── vocabulary-ex52-jsonld.json ├── vocabulary-ex53-jsonld.json ├── vocabulary-ex55-jsonld.json ├── vocabulary-ex55a-jsonld.json ├── vocabulary-ex55b-jsonld.json ├── vocabulary-ex56-jsonld.json ├── vocabulary-ex57-jsonld.json ├── vocabulary-ex58-jsonld.json ├── vocabulary-ex59-jsonld.json ├── vocabulary-ex6-jsonld.json ├── vocabulary-ex60-jsonld.json ├── vocabulary-ex61-jsonld.json ├── vocabulary-ex64-jsonld.json ├── vocabulary-ex65-jsonld.json ├── vocabulary-ex66-jsonld.json ├── vocabulary-ex68-jsonld.json ├── vocabulary-ex69-jsonld.json ├── vocabulary-ex6b-jsonld.json ├── vocabulary-ex6c-jsonld.json ├── vocabulary-ex7-jsonld.json ├── vocabulary-ex70-jsonld.json ├── vocabulary-ex71-jsonld.json ├── vocabulary-ex72-jsonld.json ├── vocabulary-ex73-jsonld.json ├── vocabulary-ex74-jsonld.json ├── vocabulary-ex75-jsonld.json ├── vocabulary-ex77-jsonld.json ├── vocabulary-ex78-jsonld.json ├── vocabulary-ex7a-jsonld.json ├── vocabulary-ex7b-jsonld.json ├── vocabulary-ex8-jsonld.json ├── vocabulary-ex80-jsonld.json ├── vocabulary-ex81-jsonld.json ├── vocabulary-ex83-jsonld.json ├── vocabulary-ex84-jsonld.json ├── vocabulary-ex87-jsonld.json ├── vocabulary-ex88-jsonld.json ├── vocabulary-ex89-jsonld.json ├── vocabulary-ex9-jsonld.json ├── vocabulary-ex91-jsonld.json ├── vocabulary-ex92-jsonld.json ├── vocabulary-ex93-jsonld.json ├── vocabulary-ex94-jsonld.json ├── vocabulary-ex94b-jsonld.json ├── vocabulary-ex96-jsonld.json ├── vocabulary-ex97-jsonld.json ├── vocabulary-ex98-jsonld.json ├── vocabulary-ex99-jsonld.json ├── vocabulary-exid-jsonld.json └── vocabulary-extype-jsonld.json ├── vocabulary ├── activitystreams2.owl ├── index.html └── manifest └── w3c.json /.github/workflows/fep-explainer.yml: -------------------------------------------------------------------------------- 1 | name: Add comment to explain Needs FEP label 2 | on: 3 | issues: 4 | types: 5 | - labeled 6 | 7 | jobs: 8 | add-comment: 9 | if: github.event.label.name == 'needs-fep' 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: write 13 | steps: 14 | - name: Add comment 15 | run: gh issue comment "$NUMBER" --body "$BODY" 16 | env: 17 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 18 | GH_REPO: ${{ github.repository }} 19 | NUMBER: ${{ github.event.issue.number }} 20 | BODY: > 21 | This issue has been labelled as potentially needing a FEP, and contributors are welcome to [submit a FEP](https://codeberg.org/fediverse/fep/src/branch/main#submitting-a-fep) on the topic. 22 | 23 | Note that issues may be closed without the FEP being created; that does not mean that the FEP is no longer needed. 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.zip 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | All documentation, code and communication under this repository are covered by the [W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). 4 | -------------------------------------------------------------------------------- /ERRATA.md: -------------------------------------------------------------------------------- 1 | # Errata 2 | 3 | This document includes errata for the [Activity Streams](https://www.w3.org/TR/activitystreams-core/) and [Activity Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary/) documents. 4 | 5 | ## Activity Streams 6 | 7 | - None yet reported. 8 | 9 | ## Activity Vocabulary 10 | 11 | - Example 150 has `latitude` and `longitude` properties with string values. 12 | The range of these properties is `xsd:float`. A correct example would be: 13 | 14 | ```json 15 | { 16 | "@context": "https://www.w3.org/ns/activitystreams", 17 | "type": "Place", 18 | "name": "San Francisco, CA", 19 | "longitude": 122.4167, 20 | "latitude": 37.7833 21 | } 22 | ``` 23 | 24 | - Example 80 has `Image` objects with `width` and `height` properties, which 25 | are only allowed on `Link` objects. One alternative is to use `Link` objects 26 | with the correct `height` and `width` as the `url` property for each `Image` 27 | object. 28 | 29 | ```json 30 | { 31 | "@context": "https://www.w3.org/ns/activitystreams", 32 | "summary": "A simple note", 33 | "type": "Note", 34 | "content": "A simple note", 35 | "icon": [ 36 | { 37 | "type": "Image", 38 | "summary": "Note (16x16)", 39 | "url": { 40 | "type": "Link", 41 | "href": "http://example.org/note1.png", 42 | "width": 16, 43 | "height": 16 44 | } 45 | }, 46 | { 47 | "type": "Image", 48 | "summary": "Note (32x32)", 49 | "url": { 50 | "type": "Link", 51 | "href": "http://example.org/note2.png", 52 | "width": 32, 53 | "height": 32 54 | } 55 | } 56 | ] 57 | } 58 | ``` 59 | 60 | - The range of the `units` property is given as an enumerated set of values. 61 | Due to a formatting error, some of these values are shown with an incorrect 62 | leading space character. The correct range is: 63 | 64 | ```text 65 | "cm" | "feet" | "inches" | "km" | "m" | "miles" | xsd:anyURI 66 | ``` 67 | 68 | - Example 58 includes a `summary` property on a `Mention` object, which is 69 | not allowed. A corrected example: 70 | 71 | ```json 72 | { 73 | "@context": "https://www.w3.org/ns/activitystreams", 74 | "type": "Mention", 75 | "href": "http://example.org/joe", 76 | "name": "Joe" 77 | } 78 | ``` 79 | 80 | - Unlike `latitude` and `longitude`, the domain of the `altitude` term is the `Object` type. The `altitude` term should be included in the list of properties of an `Object`. Because `altitude` is primarily documented as a property of a `Place`, publishers should not include `altitude` on objects that are not of type `Place`, and consumers should accept objects with this property that aren't of type `Place`. 81 | 82 | - The domain of the `attributedTo` property is both `Link` and `Object`. `attributedTo` should be included in the list of properties of a `Link`. 83 | 84 | - Example 102 is missing a `type` property on the `Link` value of the `url` property. For clarity, the example should read: 85 | 86 | ```json 87 | { 88 | "@context": "https://www.w3.org/ns/activitystreams", 89 | "type": "Video", 90 | "name": "Cool New Movie", 91 | "duration": "PT2H30M", 92 | "preview": { 93 | "type": "Video", 94 | "name": "Trailer", 95 | "duration": "PT1M", 96 | "url": { 97 | "type": "Link", 98 | "href": "http://example.org/trailer.mkv", 99 | "mediaType": "video/mkv" 100 | } 101 | } 102 | } 103 | ``` 104 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | This work is being provided by the copyright holders under the following license. 2 | 3 | # License 4 | 5 | By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. 6 | 7 | Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: 8 | 9 | - The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 10 | - Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. 11 | - Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." 12 | 13 | # Disclaimers 14 | 15 | THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. 16 | 17 | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. 18 | 19 | The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Activity Streams 2.0 2 | 3 | Activity Streams 2.0 (AS2) is a social data format. Its types represent activities, content objects, and actors like people or groups on the social web. 4 | 5 | It is an extensible format; the Activity Vocabulary provides a structure for social applications, but more focused or innovative objects can be represented in AS2 by extending the vocabulary. 6 | 7 | ## Key Links 8 | 9 | * The [Core specification](https://www.w3.org/TR/activitystreams-core/) describes the basic structure of AS2 and the core classes like `Object` and `Link`. 10 | * The [Vocabulary specification](https://www.w3.org/TR/activitystreams-vocabulary/) expands on the core specification with definitions of several dozen activity and object types, as well as many properties of those types. 11 | * The [SocialCG](https://www.w3.org/Social/WG) is the W3C Social Web Working Group, which is the home of AS2. 12 | * [ActivityPub](https://www.w3.org/TR/activitypub/) is a protocol that uses AS2 for communication between social systems. 13 | * The [Activity Streams Primer](https://www.w3.org/wiki/Activity_Streams/Primer) includes some expanded examples and explanations of AS2. If it's unclear how to use a type or property, the primer is a good place to start. 14 | * The [Extensions registry](https://www.w3.org/wiki/Activity_Streams/Extensions) lists known extensions to AS2. 15 | * Popular extensions can be integrated into the AS2 vocabulary document, making them practically part of the spec. The [Extensions Policy](https://swicg.github.io/extensions-policy/) describes how to propose extensions for inclusion in AS2. 16 | 17 | ## Editors 18 | 19 | The currently active editors of the AS2 specification(s) are: 20 | 21 | - [Evan Prodromou](https://github.com/evanp) 22 | 23 | ## Supported deliverables 24 | 25 | These files are maintained by the editor(s) under the supervision of the SocialCG: 26 | 27 | * The Core specification. 28 | * The Vocabulary specification. 29 | * The JSON-LD context document. 30 | * The OWL ontology document. 31 | 32 | The documentation is primary; the JSON-LD context and OWL ontology follow from the documentation. 33 | 34 | Other documents included here are informational and provided on a best-effort basis, or to support the processes of the W3C. 35 | 36 | ## Contributions 37 | 38 | Because AS2 is a W3C Recommendation, its published documents are stable and changes are highly controlled. If you'd like to contribute, the best way is to open a [GitHub issue](https://github.com/w3c/activitystreams/issues) or join the [SocialCG](https://www.w3.org/Social/WG) and participate in discussions there. 39 | 40 | Pull requests are generally *not* helpful, unless you're an editor or have been asked to submit a pull request by an editor. The editors are responsible for the content of the documents, and they will make changes based on the issues and discussions. 41 | 42 | AS2 provides the vocabulary for ActivityPub, but many of the protocol details are not part of AS2. Issues with the protocol and ActivityPub API should be created in the [ActivityPub repository](https://github.com/w3c/activitypub). If you're not sure, it's okay to open an issue in the AS2 repository and the editors will navigate it to the right place. 43 | 44 | ## Processes 45 | 46 | ### Questions and clarifications 47 | 48 | If you have a question about the specification(s), including text or terms that are unclear or ambiguous, please open a [GitHub issue](https://github.com/w3c/activitystreams/issues). 49 | 50 | Clarifying questions may influence future versions of the document, but they aren't usually treated as errors that need to be updated as errata. A typical resolution for a clarifying question is to add a page to the [Activity Streams Primer](https://www.w3.org/wiki/Activity_Streams/Primer). 51 | 52 | ### Editorial changes 53 | 54 | If you find a textual error in the specification(s), please open a [GitHub issue](https://github.com/w3c/activitystreams/issues). Examples of textual errors: 55 | 56 | - Spelling mistakes 57 | - Grammar mistakes 58 | - Broken links 59 | - Incorrect references to other parts of the document 60 | - Semantic mistakes 61 | - Misleading or confusing language 62 | - Syntax errors in the JSON-LD of examples in the documents 63 | 64 | The process for making editorial changes is as follows: 65 | 66 | 1. A GitHub issue is opened. 67 | 2. Participants discuss the issue in the comments. 68 | 3. The editor(s) open a pull request to add the correction to the ERRATA document. 69 | 4. At a future meeting of the SocialCG, the editor(s) propose to accept the pull request. The SocialCG discusses the proposal and votes to accept or reject it. 70 | 5. If it's accepted, the editor(s) merge the pull request and close the issue. 71 | 6. The editor(s) update the editor's draft of the document to include the correction. 72 | 7. Periodically, updated non-normative editorial changes are published as a new version of the document at the canonical URL. 73 | 74 | ### Backwards-compatible changes 75 | 76 | Social networking changes every year, and AS2 is designed to be keep up with that pace of change. Backwards-compatible changes are those that don't break existing implementations of AS2. 77 | 78 | The most important type of backwards-compatible normative change is adding types and properties to the vocabulary. 79 | 80 | The primary way to create a backwards-compatible change is to create a new extension to Activity Streams 2.0. You can create a GitHub issue to discuss the extension idea, which can help with building consensus around the change. 81 | 82 | Extensions are documented on the [Extensions registry](https://www.w3.org/wiki/Activity_Streams/Extensions). Before starting a new extension, it's a good idea to check the registry to see if someone else has already created a similar extension. 83 | 84 | The [Fediverse Enhancement Proposals](https://codeberg.org/fediverse/fep) process is a lightweight collaboration process for creating and documenting Activity Streams 2.0 extensions (and other changes to the Fediverse). It's a good place to start if you're considering a backwards-compatible change. 85 | 86 | There are many ideas for backwards-compatible changes to ActivityPub that have not yet been written up as a FEP or other document. These are marked [Needs FEP](https://github.com/w3c/activitystreams/issues?q=is%3Aissue+label%3A%22needs-fep%22) in the ActivityPub GitHub issue repository, and contributors are welcome to [submit a FEP](https://codeberg.org/fediverse/fep/src/branch/main#submitting-a-fep) on the topic. Note that issues may be closed without the FEP being created; that does not mean that the FEP is no longer needed. 87 | 88 | Extensions that become popular can be integrated into the AS2 vocabulary document, making them practically part of the spec. The [Extensions Policy](https://swicg.github.io/extensions-policy/) describes how to propose extensions for inclusion in AS2. 89 | 90 | Future versions of the AS2 specification(s) may include popular extensions as part of the core specs; see below. 91 | 92 | ### Non-backwards-compatible changes 93 | 94 | Non-backwards-compatible changes to the specification require chartering a new working group at the W3C. They also require making changes in dozens of ActivityPub implementations and tens of thousands of running servers. This is a lot of work and is not done lightly. 95 | 96 | Non-backwards-compatible changes include: 97 | 98 | - Making optional behaviour mandatory 99 | - Loosening requirements for existing types or properties 100 | - Deprecating types or properties 101 | - Removing types or properties from the vocabulary 102 | 103 | If you think a non-backwards-compatible change is necessary, please open a [GitHub issue](https://github.com/w3c/activitystreams/issues) to discuss it. It will be marked as a "next version" issue, so when a new working group is chartered, the issue can be considered for the new version of the specification(s). 104 | -------------------------------------------------------------------------------- /activitystreams-core: -------------------------------------------------------------------------------- 1 | core -------------------------------------------------------------------------------- /activitystreams-vocabulary: -------------------------------------------------------------------------------- 1 | vocabulary -------------------------------------------------------------------------------- /core/manifest: -------------------------------------------------------------------------------- 1 | index.html 2 | activitystreams2-context.jsonld 3 | paging.png 4 | paging2.png 5 | -------------------------------------------------------------------------------- /core/paging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/activitystreams/e707026f428445bcabb7da4bc389c25a862204e6/core/paging.png -------------------------------------------------------------------------------- /core/paging2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/activitystreams/e707026f428445bcabb7da4bc389c25a862204e6/core/paging2.png -------------------------------------------------------------------------------- /draft-extensions-policy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page Redirection 6 | 7 | 8 | 9 |

If you are not redirected automatically, follow this link.

10 | 11 | 12 | -------------------------------------------------------------------------------- /implementation-reports/README.md: -------------------------------------------------------------------------------- 1 | These are gathered into https://www.w3.org/2017/02/social/implementations/as2/ 2 | -------------------------------------------------------------------------------- /implementation-reports/activipy.md: -------------------------------------------------------------------------------- 1 | # ActiviPy 2 | 3 | ## Implementation details 4 | 5 | * Application name: ActiviPy 6 | * Version: 0.2 7 | * Platform name: Python library 8 | * License: Apache 2.0 9 | * Main URL: http://activipy.readthedocs.io/en/latest/ 10 | * Public: public 11 | * Activity Streams 2.0 URL: http://activipy.readthedocs.io/en/latest/ (it's an as2 library) 12 | * Application role: both 13 | * Interface to other applications: library 14 | 15 | ## Core classes 16 | 17 | It wasn't clear whether or not all these properties would count as 18 | implemented or not given implementation report guidelines. ActiviPy 19 | has the ability, through its json-ld support, to tell which ones are 20 | valid (either through AS2 or an extension in the context) and which 21 | are bogus by expanding then compacting the document. 22 | 23 | Thus I think all the properties are "implemented", and not simply 24 | passed through without any form of understanding. 25 | 26 | ### Object 27 | 28 | Implemented? : y 29 | 30 | * attachment: y 31 | * attributedTo: y 32 | * audience: y 33 | * bcc: y 34 | * bto: y 35 | * cc: y 36 | * content: y 37 | * contentMap: y 38 | * context: y 39 | * duration: y 40 | * endTime: y 41 | * generator: y 42 | * icon: y 43 | * image: y 44 | * inReplyTo: y 45 | * location: y 46 | * mediaType: y 47 | * name: y 48 | * nameMap: y 49 | * preview: y 50 | * published: y 51 | * replies: y 52 | * startTime: y 53 | * summary: y 54 | * summaryMap: y 55 | * tag: y 56 | * to: y 57 | * updated: y 58 | * url: y 59 | 60 | ### Link 61 | 62 | Implemented? : y 63 | 64 | * height: y 65 | * hreflang: y 66 | * mediaType: y 67 | * name: y 68 | * rel: y 69 | * width: y 70 | 71 | ### Actor 72 | 73 | Implemented? : y (note that we implement this, despite it being dropped from the AS2 standard, because it helps with method resolution on the type heirarchy) 74 | 75 | ### Activity 76 | 77 | Implemented? : y 78 | 79 | * actor: y 80 | * object: y 81 | * target: y 82 | * origin: y 83 | * result: y 84 | * instrument: y 85 | 86 | ### IntransitiveActivity 87 | 88 | Implemented? : y 89 | 90 | ### Collection 91 | 92 | Implemented? : y 93 | 94 | * items: y 95 | * totalItems: y 96 | * first: y 97 | * last: y 98 | * current: y 99 | 100 | ### OrderedCollection 101 | 102 | Implemented? : y 103 | 104 | ### CollectionPage 105 | 106 | Implemented? : y 107 | 108 | * partOf: y 109 | * next: y 110 | * prev: y 111 | 112 | ### OrderedCollectionPage 113 | 114 | Implemented? : y 115 | 116 | ## Extended classes 117 | 118 | ### Accept 119 | 120 | Implemented? : y 121 | 122 | ### Add 123 | 124 | Implemented? : y 125 | 126 | ### Announce 127 | 128 | Implemented? : y 129 | 130 | ### Arrive 131 | 132 | Implemented? : y 133 | 134 | ### Block 135 | 136 | Implemented? : y 137 | 138 | ### Create 139 | 140 | Implemented? : y 141 | 142 | ### Delete 143 | 144 | Implemented? : y 145 | 146 | ### Dislike 147 | 148 | Implemented? : y 149 | 150 | ### Flag 151 | 152 | Implemented? : y 153 | 154 | ### Follow 155 | 156 | Implemented? : y 157 | 158 | ### Ignore 159 | 160 | Implemented? : y 161 | 162 | ### Invite 163 | 164 | Implemented? : y 165 | 166 | ### Join 167 | 168 | Implemented? : y 169 | 170 | ### Leave 171 | 172 | Implemented? : y 173 | 174 | ### Like 175 | 176 | Implemented? : y 177 | 178 | ### Listen 179 | 180 | Implemented? : y 181 | 182 | ### Move 183 | 184 | Implemented? : y 185 | 186 | ### Offer 187 | 188 | Implemented? : y 189 | 190 | ### Question 191 | 192 | Implemented? : y 193 | 194 | * oneOf: y 195 | * anyOf: y 196 | * closed: y 197 | 198 | ### Read 199 | 200 | Implemented? : y 201 | 202 | ### Reject 203 | 204 | Implemented? : y 205 | 206 | ### Remove 207 | 208 | Implemented? : y 209 | 210 | ### TentativeAccept 211 | 212 | Implemented? : y 213 | 214 | ### TentativeReject 215 | 216 | Implemented? : y 217 | 218 | ### Travel 219 | 220 | Implemented? : y 221 | 222 | ### Undo 223 | 224 | Implemented? : y 225 | 226 | ### Update 227 | 228 | Implemented? : y 229 | 230 | ### View 231 | 232 | Implemented? : y 233 | 234 | ### Application 235 | 236 | Implemented? : y 237 | 238 | ### Group 239 | 240 | Implemented? : y 241 | 242 | ### Organization 243 | 244 | Implemented? : y 245 | 246 | ### Person 247 | 248 | Implemented? : y 249 | 250 | ### Service 251 | 252 | Implemented? : y 253 | 254 | ### Article 255 | 256 | Implemented? : y 257 | 258 | ### Audio 259 | 260 | Implemented? : y 261 | 262 | ### Document 263 | 264 | Implemented? : y 265 | 266 | ### Event 267 | 268 | Implemented? : y 269 | 270 | ### Image 271 | 272 | Implemented? : y 273 | 274 | ### Note 275 | 276 | Implemented? : y 277 | 278 | ### Page 279 | 280 | Implemented? : y 281 | 282 | ### Place 283 | 284 | Implemented? : y 285 | 286 | * accuracy: y 287 | * altitude: y 288 | * latitude: y 289 | * longitude: y 290 | * radius: y 291 | * units: y 292 | 293 | ### Profile 294 | 295 | Implemented? : y 296 | 297 | * describes: y 298 | 299 | ### Relationship 300 | 301 | Implemented? : y 302 | 303 | * subject: y 304 | * object: y 305 | * relationship: y 306 | 307 | ### Tombstone 308 | 309 | Implemented? : y 310 | 311 | * formerType: y 312 | * deleted: y 313 | 314 | ### Video 315 | 316 | Implemented? : y 317 | 318 | ### Tombstone 319 | 320 | Implemented? : y 321 | 322 | ## Extensions 323 | 324 | ActiviPy supports extensions by allowing to add new objects to an 325 | environment which is aware of all available types and by extending the 326 | json-ld context. 327 | -------------------------------------------------------------------------------- /implementation-reports/activity-streams.js.md: -------------------------------------------------------------------------------- 1 | # activity-streams.js 2 | 3 | activity-streams.js is an experimental tool which serves as more of a middle-ware 4 | or short-hand for sending and receiving activity streams objects between two peers. 5 | Objects are registered once and the referenced using their '@id's... So, by that 6 | definition, none of the classes and properties are explicitly implemented at this 7 | layer. 8 | 9 | This library is a product of, and used by, the Sockethub project. 10 | 11 | ## Implementation details 12 | 13 | * Application name: activity-streams.js 14 | * Version: 1.0.0 15 | * Platform name: N/A 16 | * License: MIT 17 | * Main URL: https://github.com/silverbucket/activity-streams.js 18 | * Public: public 19 | * Activity Streams 2.0 URL: N/A 20 | * Application role: both and/or neither? (middleware?) 21 | * Interface to other applications: middleware 22 | 23 | 24 | -------------------------------------------------------------------------------- /implementation-reports/activitystream-extension.md: -------------------------------------------------------------------------------- 1 | # ActivityStream Extension 2 | 3 | ## Implementation details 4 | 5 | * Application name: ActivityStream Extension 6 | * Version: 1.1.0 7 | * Platform name: WordPress 8 | * License: MIT 9 | * Main URL: https://wordpress.org/plugins/activitystream-extension/ 10 | * Public: public 11 | * Activity Streams 2.0 URL: http://notiz.blog/feed/as2 12 | * Application role: publisher 13 | * Interface to other applications: other 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: y 28 | * contentMap: n 29 | * context: y 30 | * duration: n 31 | * endTime: n 32 | * generator: y 33 | * icon: n 34 | * image: y 35 | * inReplyTo: y 36 | * location: n 37 | * mediaType: n 38 | * name: y 39 | * nameMap: n 40 | * preview: n 41 | * published: y 42 | * replies: n 43 | * startTime: n 44 | * summary: y 45 | * summaryMap: n 46 | * tag: n 47 | * to: n 48 | * updated: n 49 | * url: y 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | ### Actor 56 | 57 | Implemented? : y 58 | 59 | ### Activity 60 | 61 | Implemented? : n 62 | 63 | ### IntransitiveActivity 64 | 65 | Implemented? : n 66 | 67 | ### Collection 68 | 69 | Implemented? : y 70 | 71 | * items: y 72 | * totalItems: y 73 | * first: n 74 | * last: n 75 | * current: n 76 | 77 | ### OrderedCollection 78 | 79 | Implemented? : n 80 | 81 | ### CollectionPage 82 | 83 | Implemented? : n 84 | 85 | ### OrderedCollectionPage 86 | 87 | Implemented? : n 88 | 89 | ## Extended classes 90 | 91 | ### Accept 92 | 93 | Implemented? : n 94 | 95 | ### Add 96 | 97 | Implemented? : n 98 | 99 | ### Announce 100 | 101 | Implemented? : n 102 | 103 | ### Arrive 104 | 105 | Implemented? : n 106 | 107 | ### Block 108 | 109 | Implemented? : n 110 | 111 | ### Create 112 | 113 | Implemented? : y 114 | 115 | ### Delete 116 | 117 | Implemented? : n 118 | 119 | ### Dislike 120 | 121 | Implemented? : n 122 | 123 | ### Flag 124 | 125 | Implemented? : n 126 | 127 | ### Follow 128 | 129 | Implemented? : n 130 | 131 | ### Ignore 132 | 133 | Implemented? : n 134 | 135 | ### Invite 136 | 137 | Implemented? : n 138 | 139 | ### Join 140 | 141 | Implemented? : n 142 | 143 | ### Leave 144 | 145 | Implemented? : n 146 | 147 | ### Like 148 | 149 | Implemented? : n 150 | 151 | ### Listen 152 | 153 | Implemented? : n 154 | 155 | ### Move 156 | 157 | Implemented? : n 158 | 159 | ### Offer 160 | 161 | Implemented? : n 162 | 163 | ### Question 164 | 165 | Implemented? : n 166 | 167 | ### Read 168 | 169 | Implemented? : n 170 | 171 | ### Reject 172 | 173 | Implemented? : n 174 | 175 | ### Remove 176 | 177 | Implemented? : n 178 | 179 | ### TentativeAccept 180 | 181 | Implemented? : n 182 | 183 | ### TentativeReject 184 | 185 | Implemented? : n 186 | 187 | ### Travel 188 | 189 | Implemented? : n 190 | 191 | ### Undo 192 | 193 | Implemented? : n 194 | 195 | ### Update 196 | 197 | Implemented? : n 198 | 199 | ### View 200 | 201 | Implemented? : n 202 | 203 | ### Application 204 | 205 | Implemented? : n 206 | 207 | ### Group 208 | 209 | Implemented? : n 210 | 211 | ### Organization 212 | 213 | Implemented? : n 214 | 215 | ### Person 216 | 217 | Implemented? : n 218 | 219 | ### Service 220 | 221 | Implemented? : n 222 | 223 | ### Article 224 | 225 | Implemented? : y 226 | 227 | ### Audio 228 | 229 | Implemented? : y 230 | 231 | ### Document 232 | 233 | Implemented? : n 234 | 235 | ### Event 236 | 237 | Implemented? : n 238 | 239 | ### Image 240 | 241 | Implemented? : y 242 | 243 | ### Note 244 | 245 | Implemented? : y 246 | 247 | ### Page 248 | 249 | Implemented? : y 250 | 251 | ### Place 252 | 253 | Implemented? : n 254 | 255 | ### Profile 256 | 257 | Implemented? : n 258 | 259 | ### Relationship 260 | 261 | Implemented? : n 262 | 263 | ### Video 264 | 265 | Implemented? : y 266 | 267 | ### Tombstone 268 | 269 | Implemented? : n 270 | 271 | ## Extensions 272 | -------------------------------------------------------------------------------- /implementation-reports/annotation-protocol-server.md: -------------------------------------------------------------------------------- 1 | # Annotation Protocol Server 2 | 3 | ## Implementation details 4 | 5 | * Application name: Annotation Protocol Server 6 | * Version: 1.0 7 | * Platform name: N/A 8 | * License: BSD-3-clause and W3C Test Suite License 9 | * Main URL: https://github.com/w3c/web-platform-tests/blob/master/annotation-protocol/tools/protocol-server.py 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: publisher 13 | * Interface to other applications: network service 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : n 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: n 28 | * contentMap: n 29 | * context: n 30 | * duration: n 31 | * endTime: n 32 | * generator: y 33 | * icon: n 34 | * image: n 35 | * inReplyTo: n 36 | * location: n 37 | * mediaType: n 38 | * name: n 39 | * nameMap: n 40 | * preview: n 41 | * published: n 42 | * replies: n 43 | * startTime: n 44 | * summary: n 45 | * summaryMap: n 46 | * tag: n 47 | * to: n 48 | * updated: n 49 | * url: n 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | * height: n 56 | * hreflang: n 57 | * mediaType: n 58 | * name: n 59 | * rel: n 60 | * width: n 61 | 62 | ### Actor 63 | 64 | Implemented? : n 65 | 66 | ### Activity 67 | 68 | Implemented? : n 69 | 70 | * actor: n 71 | * object: n 72 | * target: n 73 | * origin: n 74 | * result: n 75 | * instrument: n 76 | 77 | ### IntransitiveActivity 78 | 79 | Implemented? : n 80 | 81 | ### Collection 82 | 83 | Implemented? : y 84 | 85 | * items: y 86 | * totalItems: y 87 | * first: y 88 | * last: y 89 | * current: y 90 | 91 | ### OrderedCollection 92 | 93 | Implemented? : y 94 | 95 | ### CollectionPage 96 | 97 | Implemented? : y 98 | 99 | * partOf: y 100 | * next: y 101 | * prev: y 102 | 103 | ### OrderedCollectionPage 104 | 105 | Implemented? : y 106 | 107 | * startIndex: y 108 | 109 | ## Extended classes 110 | 111 | ### Accept 112 | 113 | Implemented? : n 114 | 115 | ### Add 116 | 117 | Implemented? : n 118 | 119 | ### Announce 120 | 121 | Implemented? : n 122 | 123 | ### Arrive 124 | 125 | Implemented? : n 126 | 127 | ### Block 128 | 129 | Implemented? : n 130 | 131 | ### Create 132 | 133 | Implemented? : n 134 | 135 | ### Delete 136 | 137 | Implemented? : n 138 | 139 | ### Dislike 140 | 141 | Implemented? : n 142 | 143 | ### Flag 144 | 145 | Implemented? : n 146 | 147 | ### Follow 148 | 149 | Implemented? : n 150 | 151 | ### Ignore 152 | 153 | Implemented? : n 154 | 155 | ### Invite 156 | 157 | Implemented? : n 158 | 159 | ### Join 160 | 161 | Implemented? : n 162 | 163 | ### Leave 164 | 165 | Implemented? : n 166 | 167 | ### Like 168 | 169 | Implemented? : n 170 | 171 | ### Listen 172 | 173 | Implemented? : n 174 | 175 | ### Move 176 | 177 | Implemented? : n 178 | 179 | ### Offer 180 | 181 | Implemented? : n 182 | 183 | ### Question 184 | 185 | Implemented? : n 186 | 187 | * oneOf: n 188 | * anyOf: n 189 | * closed: n 190 | 191 | ### Read 192 | 193 | Implemented? : n 194 | 195 | ### Reject 196 | 197 | Implemented? : n 198 | 199 | ### Remove 200 | 201 | Implemented? : n 202 | 203 | ### TentativeAccept 204 | 205 | Implemented? : n 206 | 207 | ### TentativeReject 208 | 209 | Implemented? : n 210 | 211 | ### Travel 212 | 213 | Implemented? : n 214 | 215 | ### Undo 216 | 217 | Implemented? : n 218 | 219 | ### Update 220 | 221 | Implemented? : n 222 | 223 | ### View 224 | 225 | Implemented? : n 226 | 227 | ### Application 228 | 229 | Implemented? : n 230 | 231 | ### Group 232 | 233 | Implemented? : n 234 | 235 | ### Organization 236 | 237 | Implemented? : n 238 | 239 | ### Person 240 | 241 | Implemented? : n 242 | 243 | ### Service 244 | 245 | Implemented? : n 246 | 247 | ### Article 248 | 249 | Implemented? : n 250 | 251 | ### Audio 252 | 253 | Implemented? : n 254 | 255 | ### Document 256 | 257 | Implemented? : n 258 | 259 | ### Event 260 | 261 | Implemented? : n 262 | 263 | ### Image 264 | 265 | Implemented? : n 266 | 267 | ### Note 268 | 269 | Implemented? : n 270 | 271 | ### Page 272 | 273 | Implemented? : n 274 | 275 | ### Place 276 | 277 | Implemented? : n 278 | 279 | * accuracy: n 280 | * altitude: n 281 | * latitude: n 282 | * longitude: n 283 | * radius: n 284 | * units: n 285 | 286 | ### Profile 287 | 288 | Implemented? : n 289 | 290 | * describes: n 291 | 292 | ### Relationship 293 | 294 | Implemented? : n 295 | 296 | * subject: n 297 | * object: n 298 | * relationship: n 299 | 300 | ### Tombstone 301 | 302 | Implemented? : n 303 | 304 | * formerType:n 305 | * deleted: n 306 | 307 | ### Video 308 | 309 | Implemented? : n 310 | 311 | ### Tombstone 312 | 313 | Implemented? : n -------------------------------------------------------------------------------- /implementation-reports/distbin.com.md: -------------------------------------------------------------------------------- 1 | # distbin.com 2 | 3 | Distbin is a distributed pastebin that implements parts of Activity Streams 2.0 to describe the resources it allows end-users to author. 4 | 5 | It's "A document publishing system" as mentioned in section 9.2.1 (example publishers). It also implements ActivityPub (which depends on AS2) to notify other web resources (or distbin installations) about replies and mentions, and receive replies to resources hosted on distbin.com. 6 | 7 | distbin.com renders to html both AS2 documents authored on distbin.com, as well as AS2 documents received (consumed) from other hosts that deliver to its ActivityPub inbox. 8 | 9 | distbin.com is not very strict about documents it allows end-users to publish, and does pass-through many properties without a whitelist. Classes below are only considered 'implemented' if they are explicitly authored or specially handled. Properties below are only considered 'implemented' if distbin makes use of them above and beyond simple passthrough storage/retrieval. 10 | 11 | ## Implementation details 12 | 13 | * Application name: distbin.com 14 | * Version: v0.0.0 15 | * Platform name: N/A 16 | * License: closed source 17 | * Main URL: http://distbin.com 18 | * Public: public 19 | * Activity Streams 2.0 URL (request with Accept: application/activity+json): http://distbin.com/public 20 | * Application role: both 21 | * Interface to other applications: network service 22 | 23 | ## Core classes 24 | 25 | ### Object 26 | 27 | Implemented? : n 28 | 29 | * attachment: y 30 | * attributedTo: y 31 | * audience: n 32 | * bcc: y (notifies LDN inbox of any bcc'd URL) 33 | * bto: y (notifies LDN inbox of any bto'd URL) 34 | * cc: y (notifies LDN inbox of any cc'd URL) 35 | * content: y (sanitized, rendered as main part of HTML representation of a post) 36 | * contentMap: n 37 | * context: n 38 | * duration: n 39 | * endTime: n 40 | * generator: y (Publishes .generator on posted items. Renders consumed .generator on any items) 41 | * icon: n 42 | * image: n 43 | * inReplyTo: y (notifies LDN inbox of inReplyTo URL, renders threaded replies in HTML representation) 44 | * location: y (User can provide geolocation when posting. Renders map in HTML) 45 | * mediaType: y 46 | * name: y (rendered as header in HTML representation) 47 | * nameMap: n 48 | * preview: n 49 | * published: y (rendered human-friendly timestamp in HTML representation) 50 | * replies: y (renders threaded replies in HTML representation) 51 | * startTime: n 52 | * summary: n 53 | * summaryMap: n 54 | * tag: y (can add tags to posts. Renders tags to HTML) 55 | * to: y (notifies LDN inbox of any to'd URL) 56 | * updated: n 57 | * url: y (points back to permalink on distbin.com, or canonical URL of foreign activities delivered to distbin.com inbox) 58 | 59 | ### Link 60 | 61 | Implemented? : y 62 | 63 | * height: n 64 | * href: y 65 | * hreflang: n 66 | * mediaType: y 67 | * name: y 68 | * rel: y 69 | * width: n 70 | 71 | ### Actor 72 | 73 | Implemented? : n 74 | 75 | ### Activity 76 | 77 | Implemented? : y (primary object type) 78 | 79 | * actor: n 80 | * object: y 81 | * target: n 82 | * origin: n 83 | * result: n 84 | * instrument: n 85 | 86 | ### IntransitiveActivity 87 | 88 | Implemented? : n 89 | 90 | ### Collection 91 | 92 | Implemented? : y (/public and /:activity/replies are represented as Collections of Activities) 93 | 94 | * items: y 95 | * totalItems: y 96 | * first: y 97 | * last: n 98 | * current: y 99 | 100 | ### OrderedCollection 101 | 102 | Implemented? : n 103 | 104 | ### CollectionPage 105 | 106 | Implemented? : n 107 | 108 | * partOf: y 109 | * next: y 110 | * prev: n 111 | 112 | ### OrderedCollectionPage 113 | 114 | Implemented? : y 115 | 116 | * startIndex: y 117 | 118 | ## Extended classes 119 | 120 | All can be published/retrieved dumbly, but only some are specially treated. 121 | 122 | ### Accept 123 | 124 | Implemented? : n 125 | 126 | ### Add 127 | 128 | Implemented? : n 129 | 130 | ### Announce 131 | 132 | Implemented? : n 133 | 134 | ### Arrive 135 | 136 | Implemented? : n 137 | 138 | ### Block 139 | 140 | Implemented? : n 141 | 142 | ### Create 143 | 144 | Implemented? : y (most common for input in /outbox, creating a new resource) 145 | 146 | ### Delete 147 | 148 | Implemented? : n 149 | 150 | ### Dislike 151 | 152 | Implemented? : n 153 | 154 | ### Flag 155 | 156 | Implemented? : n 157 | 158 | ### Follow 159 | 160 | Implemented? : n 161 | 162 | ### Ignore 163 | 164 | Implemented? : n 165 | 166 | ### Invite 167 | 168 | Implemented? : n 169 | 170 | ### Join 171 | 172 | Implemented? : n 173 | 174 | ### Leave 175 | 176 | Implemented? : n 177 | 178 | ### Like 179 | 180 | Implemented? : n 181 | 182 | ### Listen 183 | 184 | Implemented? : n 185 | 186 | ### Move 187 | 188 | Implemented? : n 189 | 190 | ### Offer 191 | 192 | Implemented? : n 193 | 194 | ### Question 195 | 196 | Implemented? : n 197 | 198 | * oneOf: n 199 | * anyOf: n 200 | * closed: n 201 | 202 | ### Read 203 | 204 | Implemented? : n 205 | 206 | ### Reject 207 | 208 | Implemented? : n 209 | 210 | ### Remove 211 | 212 | Implemented? : n 213 | 214 | ### TentativeAccept 215 | 216 | Implemented? : n 217 | 218 | ### TentativeReject 219 | 220 | Implemented? : n 221 | 222 | ### Travel 223 | 224 | Implemented? : n 225 | 226 | ### Undo 227 | 228 | Implemented? : n 229 | 230 | ### Update 231 | 232 | Implemented? : n 233 | 234 | ### View 235 | 236 | Implemented? : n 237 | 238 | ### Application 239 | 240 | Implemented? : n 241 | 242 | ### Group 243 | 244 | Implemented? : n 245 | 246 | ### Organization 247 | 248 | Implemented? : n 249 | 250 | ### Person 251 | 252 | Implemented? : n 253 | 254 | ### Service 255 | 256 | Implemented? : n 257 | 258 | ### Article 259 | 260 | Implemented? : n 261 | 262 | ### Audio 263 | 264 | Implemented? : n 265 | 266 | ### Document 267 | 268 | Implemented? : n 269 | 270 | ### Event 271 | 272 | Implemented? : n 273 | 274 | ### Image 275 | 276 | Implemented? : n 277 | 278 | ### Note 279 | 280 | Implemented? : y (default activity published through HTML UI is 'Create a Note') 281 | 282 | ### Page 283 | 284 | Implemented? : n 285 | 286 | ### Place 287 | 288 | Implemented? : y 289 | 290 | * accuracy: y 291 | * altitude: y 292 | * latitude: y 293 | * longitude: y 294 | * radius: y 295 | * units: y 296 | 297 | ### Profile 298 | 299 | Implemented? : n 300 | 301 | * describes: n 302 | 303 | ### Relationship 304 | 305 | Implemented? : n 306 | 307 | * subject: n 308 | * object: n 309 | * relationship: n 310 | 311 | ### Tombstone 312 | 313 | Implemented? : n 314 | 315 | * formerType: n 316 | * deleted: n 317 | 318 | ### Video 319 | 320 | Implemented? : n 321 | 322 | ### Tombstone 323 | 324 | Implemented? : n 325 | 326 | ## Extensions 327 | 328 | [ActivityPub](https://www.w3.org/ns/activitystreams#activitypub) 329 | 330 | * inbox: y (distbin.com and all the documents it hosts have an inbox. distbin.com also delivers to inboxes of remote resources audience targeted by newly published documents) 331 | * outbox: y (distbin.com has an outbox) 332 | -------------------------------------------------------------------------------- /implementation-reports/dokieli.md: -------------------------------------------------------------------------------- 1 | # dokieli 2 | 3 | ## Implementation details 4 | 5 | * Application name: dokieli 6 | * Version: 63177b2d03a5b9ec98fe560398b3e0cda9113d07 7 | * Platform name: N/A 8 | * License: Apache License, Version 2.0 9 | * Main URL: https://dokie.li/ 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: both 13 | * Interface to other applications: Linked Data Notifications publisher/consumer, articles 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: y 28 | * contentMap: n 29 | * context: y 30 | * duration: n 31 | * endTime: n 32 | * generator: n 33 | * icon: n 34 | * image: y 35 | * inReplyTo: y 36 | * location: n 37 | * mediaType: n 38 | * name: y 39 | * nameMap: n 40 | * preview: n 41 | * published: y 42 | * replies: n 43 | * startTime: n 44 | * summary:y 45 | * summaryMap: n 46 | * tag: n (in consideration) 47 | * to: y 48 | * updated: y 49 | * url: n 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | * height: n 56 | * hreflang: n 57 | * mediaType: n 58 | * name: n 59 | * rel: n 60 | * width: n 61 | 62 | ### Actor 63 | 64 | Implemented? : n 65 | 66 | ### Activity 67 | 68 | Implemented? : y 69 | 70 | * actor: y 71 | * object: y 72 | * target: y 73 | * origin: n 74 | * result: n 75 | * instrument: n 76 | 77 | ### IntransitiveActivity 78 | 79 | Implemented? : n 80 | 81 | ### Collection 82 | 83 | Implemented? : n 84 | 85 | * items: n 86 | * totalItems: n 87 | * first: n 88 | * last: n 89 | * current: n 90 | 91 | ### OrderedCollection 92 | 93 | Implemented? : n 94 | 95 | ### CollectionPage 96 | 97 | Implemented? : n 98 | 99 | * partOf: n 100 | * next: n 101 | * prev: n 102 | 103 | ### OrderedCollectionPage 104 | 105 | Implemented? : n 106 | 107 | ## Extended classes 108 | 109 | ### Accept 110 | 111 | Implemented? : n 112 | 113 | ### Add 114 | 115 | Implemented? : n 116 | 117 | ### Announce 118 | 119 | Implemented? : y 120 | 121 | ### Arrive 122 | 123 | Implemented? : n 124 | 125 | ### Block 126 | 127 | Implemented? : n 128 | 129 | ### Create 130 | 131 | Implemented? : n 132 | 133 | ### Delete 134 | 135 | Implemented? : n 136 | 137 | ### Dislike 138 | 139 | Implemented? : y 140 | 141 | ### Flag 142 | 143 | Implemented? : n 144 | 145 | ### Follow 146 | 147 | Implemented? : n 148 | 149 | ### Ignore 150 | 151 | Implemented? : n 152 | 153 | ### Invite 154 | 155 | Implemented? : n 156 | 157 | ### Join 158 | 159 | Implemented? : n 160 | 161 | ### Leave 162 | 163 | Implemented? : n 164 | 165 | ### Like 166 | 167 | Implemented? : y 168 | 169 | ### Listen 170 | 171 | Implemented? : n 172 | 173 | ### Move 174 | 175 | Implemented? : n 176 | 177 | ### Offer 178 | 179 | Implemented? : n 180 | 181 | ### Question 182 | 183 | Implemented? : n 184 | 185 | * oneOf: n 186 | * anyOf: n 187 | * closed: n 188 | 189 | ### Read 190 | 191 | Implemented? : n 192 | 193 | ### Reject 194 | 195 | Implemented? : n 196 | 197 | ### Remove 198 | 199 | Implemented? : n 200 | 201 | ### TentativeAccept 202 | 203 | Implemented? : n 204 | 205 | ### TentativeReject 206 | 207 | Implemented? : n 208 | 209 | ### Travel 210 | 211 | Implemented? : n 212 | 213 | ### Undo 214 | 215 | Implemented? : n 216 | 217 | ### Update 218 | 219 | Implemented? : n 220 | 221 | ### View 222 | 223 | Implemented? : n 224 | 225 | ### Application 226 | 227 | Implemented? : n 228 | 229 | ### Group 230 | 231 | Implemented? : n 232 | 233 | ### Organization 234 | 235 | Implemented? : n 236 | 237 | ### Person 238 | 239 | Implemented? : n 240 | 241 | ### Service 242 | 243 | Implemented? : n 244 | 245 | ### Article 246 | 247 | Implemented? : n 248 | 249 | ### Audio 250 | 251 | Implemented? : n 252 | 253 | ### Document 254 | 255 | Implemented? : n 256 | 257 | ### Event 258 | 259 | Implemented? : n 260 | 261 | ### Image 262 | 263 | Implemented? : n 264 | 265 | ### Note 266 | 267 | Implemented? : n 268 | 269 | ### Page 270 | 271 | Implemented? : n 272 | 273 | ### Place 274 | 275 | Implemented? : n 276 | 277 | * accuracy: n 278 | * altitude: n 279 | * latitude: n 280 | * longitude: n 281 | * radius: n 282 | * units: n 283 | 284 | ### Profile 285 | 286 | Implemented? : n 287 | 288 | * describes: n 289 | 290 | ### Relationship 291 | 292 | Implemented? : y 293 | 294 | * subject: y 295 | * object: y 296 | * relationship: y 297 | 298 | ### Tombstone 299 | 300 | Implemented? : n 301 | 302 | * formerType: n 303 | * deleted: n 304 | 305 | ### Video 306 | 307 | Implemented? : n 308 | 309 | ## Extensions 310 | -------------------------------------------------------------------------------- /implementation-reports/elucidate.md: -------------------------------------------------------------------------------- 1 | # Elucidate Server 2 | 3 | ## Implementation details 4 | 5 | * Application name: Elucidate Server 6 | * Version: 1.0.0 7 | * Platform name: N/A 8 | * License: MIT License 9 | * Main URL: https://github.com/dlcs/elucidate-server 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: publisher 13 | * Interface to other applications: network service 14 | 15 | ## Core classes 16 | 17 | 18 | ### Object 19 | 20 | Implemented? : n 21 | 22 | * attachment: n 23 | * attributedTo: n 24 | * audience: n 25 | * bcc: n 26 | * bto: n 27 | * cc: n 28 | * content: n 29 | * contentMap: n 30 | * context: n 31 | * duration: n 32 | * endTime: n 33 | * generator: y 34 | * icon: n 35 | * image: n 36 | * inReplyTo: n 37 | * location: n 38 | * mediaType: n 39 | * name: n 40 | * nameMap: n 41 | * preview: n 42 | * published: n 43 | * replies: n 44 | * startTime: n 45 | * summary: n 46 | * summaryMap: n 47 | * tag: n 48 | * to: n 49 | * updated: n 50 | * url: n 51 | 52 | ### Link 53 | 54 | Implemented? : n 55 | 56 | * height: n 57 | * hreflang: n 58 | * mediaType: n 59 | * name: n 60 | * rel: n 61 | * width: n 62 | 63 | ### Actor 64 | 65 | Implemented? : n 66 | 67 | ### Activity 68 | 69 | Implemented? : n 70 | 71 | * actor: n 72 | * object: n 73 | * target: n 74 | * origin: n 75 | * result: n 76 | * instrument: n 77 | 78 | ### IntransitiveActivity 79 | 80 | Implemented? : n 81 | 82 | ### Collection 83 | 84 | Implemented? : y 85 | 86 | * items: y 87 | * totalItems: y 88 | * first: y 89 | * last: y 90 | * current: y 91 | 92 | ### OrderedCollection 93 | 94 | Implemented? : y 95 | 96 | ### CollectionPage 97 | 98 | Implemented? : y 99 | 100 | * partOf: y 101 | * next: y 102 | * prev: y 103 | 104 | ### OrderedCollectionPage 105 | 106 | Implemented? : y 107 | 108 | * startIndex: y 109 | 110 | ## Extended classes 111 | 112 | ### Accept 113 | 114 | Implemented? : n 115 | 116 | ### Add 117 | 118 | Implemented? : n 119 | 120 | ### Announce 121 | 122 | Implemented? : n 123 | 124 | ### Arrive 125 | 126 | Implemented? : n 127 | 128 | ### Block 129 | 130 | Implemented? : n 131 | 132 | ### Create 133 | 134 | Implemented? : n 135 | 136 | ### Delete 137 | 138 | Implemented? : n 139 | 140 | ### Dislike 141 | 142 | Implemented? : n 143 | 144 | ### Flag 145 | 146 | Implemented? : n 147 | 148 | ### Follow 149 | 150 | Implemented? : n 151 | 152 | ### Ignore 153 | 154 | Implemented? : n 155 | 156 | ### Invite 157 | 158 | Implemented? : n 159 | 160 | ### Join 161 | 162 | Implemented? : n 163 | 164 | ### Leave 165 | 166 | Implemented? : n 167 | 168 | ### Like 169 | 170 | Implemented? : n 171 | 172 | ### Listen 173 | 174 | Implemented? : n 175 | 176 | ### Move 177 | 178 | Implemented? : n 179 | 180 | ### Offer 181 | 182 | Implemented? : n 183 | 184 | ### Question 185 | 186 | Implemented? : n 187 | 188 | * oneOf: n 189 | * anyOf: n 190 | * closed: n 191 | 192 | ### Read 193 | 194 | Implemented? : n 195 | 196 | ### Reject 197 | 198 | Implemented? : n 199 | 200 | ### Remove 201 | 202 | Implemented? : n 203 | 204 | ### TentativeAccept 205 | 206 | Implemented? : n 207 | 208 | ### TentativeReject 209 | 210 | Implemented? : n 211 | 212 | ### Travel 213 | 214 | Implemented? : n 215 | 216 | ### Undo 217 | 218 | Implemented? : n 219 | 220 | ### Update 221 | 222 | Implemented? : n 223 | 224 | ### View 225 | 226 | Implemented? : n 227 | 228 | ### Application 229 | 230 | Implemented? : n 231 | 232 | ### Group 233 | 234 | Implemented? : n 235 | 236 | ### Organization 237 | 238 | Implemented? : n 239 | 240 | ### Person 241 | 242 | Implemented? : n 243 | 244 | ### Service 245 | 246 | Implemented? : n 247 | 248 | ### Article 249 | 250 | Implemented? : n 251 | 252 | ### Audio 253 | 254 | Implemented? : n 255 | 256 | ### Document 257 | 258 | Implemented? : n 259 | 260 | ### Event 261 | 262 | Implemented? : n 263 | 264 | ### Image 265 | 266 | Implemented? : n 267 | 268 | ### Note 269 | 270 | Implemented? : n 271 | 272 | ### Page 273 | 274 | Implemented? : n 275 | 276 | ### Place 277 | 278 | Implemented? : n 279 | 280 | * accuracy: n 281 | * altitude: n 282 | * latitude: n 283 | * longitude: n 284 | * radius: n 285 | * units: n 286 | 287 | ### Profile 288 | 289 | Implemented? : n 290 | 291 | * describes: n 292 | 293 | ### Relationship 294 | 295 | Implemented? : n 296 | 297 | * subject: n 298 | * object: n 299 | * relationship: n 300 | 301 | ### Tombstone 302 | 303 | Implemented? : n 304 | 305 | * formerType:n 306 | * deleted: n 307 | 308 | ### Video 309 | 310 | Implemented? : n 311 | 312 | ### Tombstone 313 | 314 | Implemented? : n 315 | 316 | ## Extensions 317 | 318 | %(If you've used any extensions for your Activity Streams 2.0 implementation, 319 | list them here, with comments.)% 320 | -------------------------------------------------------------------------------- /implementation-reports/jasnell-activitystrea.ms.md: -------------------------------------------------------------------------------- 1 | # Activity Streams 2.0 for NodeJS 2 | 3 | ## Implementation details 4 | 5 | * Application name: Activity Streams 2.0 for NodeJS 6 | * Version: 1.0.0 7 | * Platform name: N/A 8 | * License: Apache-2.0 9 | * Main URL: https://github.com/jasnell/activitystrea.ms 10 | * Public: "public" 11 | * Activity Streams 2.0 URL: https://github.com/jasnell/activitystrea.ms 12 | * Application role: both 13 | * Interface to other applications: library 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: y 22 | * attributedTo: y 23 | * audience: y 24 | * bcc: y 25 | * bto: y 26 | * cc: y 27 | * content: y 28 | * contentMap: y 29 | * context: y 30 | * duration: y 31 | * endTime: y 32 | * generator: y 33 | * icon: y 34 | * image: y 35 | * inReplyTo: y 36 | * location: y 37 | * mediaType: y 38 | * name: y 39 | * nameMap: y 40 | * preview: y 41 | * published: y 42 | * replies: y 43 | * startTime: y 44 | * summary: y 45 | * summaryMap: y 46 | * tag: y 47 | * to: y 48 | * updated: y 49 | * url: n 50 | 51 | ### Link 52 | 53 | Implemented? : y 54 | 55 | * height: y 56 | * href: y 57 | * hreflang: y 58 | * mediaType: y 59 | * name: y 60 | * rel: n 61 | * width: y 62 | * duration: y 63 | 64 | ### Actor 65 | 66 | Implemented? : n 67 | 68 | ### Activity 69 | 70 | Implemented? : y 71 | 72 | * actor: y 73 | * object: y 74 | * target: y 75 | * origin: y 76 | * result: y 77 | * instrument: y 78 | 79 | ### IntransitiveActivity 80 | 81 | Implemented? : n 82 | 83 | ### Collection 84 | 85 | Implemented? : y 86 | 87 | * items: y 88 | * totalItems: y 89 | * first: y 90 | * last: y 91 | * current: y 92 | * startIndex: n 93 | 94 | ### OrderedCollection 95 | 96 | Implemented? : y 97 | 98 | ### CollectionPage 99 | 100 | Implemented? : y 101 | 102 | * partOf: n 103 | * next: y 104 | * prev: y 105 | 106 | ### OrderedCollectionPage 107 | 108 | Implemented? : y 109 | 110 | * startIndex: y 111 | 112 | ## Extended classes 113 | 114 | ### Accept 115 | 116 | Implemented? : y 117 | 118 | ### Add 119 | 120 | Implemented? : y 121 | 122 | ### Announce 123 | 124 | Implemented? : y 125 | 126 | ### Arrive 127 | 128 | Implemented? : y 129 | 130 | ### Block 131 | 132 | Implemented? : y 133 | 134 | ### Create 135 | 136 | Implemented? : y 137 | 138 | ### Delete 139 | 140 | Implemented? : y 141 | 142 | ### Dislike 143 | 144 | Implemented? : y 145 | 146 | ### Flag 147 | 148 | Implemented? : y 149 | 150 | ### Follow 151 | 152 | Implemented? : y 153 | 154 | ### Ignore 155 | 156 | Implemented? : y 157 | 158 | ### Invite 159 | 160 | Implemented? : y 161 | 162 | ### Join 163 | 164 | Implemented? : y 165 | 166 | ### Leave 167 | 168 | Implemented? : y 169 | 170 | ### Like 171 | 172 | Implemented? : y 173 | 174 | ### Listen 175 | 176 | Implemented? : y 177 | 178 | ### Move 179 | 180 | Implemented? : y 181 | 182 | ### Offer 183 | 184 | Implemented? : y 185 | 186 | ### Question 187 | 188 | Implemented? : y 189 | 190 | * oneOf: y 191 | * anyOf: y 192 | * closed: n 193 | 194 | ### Read 195 | 196 | Implemented? : y 197 | 198 | ### Reject 199 | 200 | Implemented? : y 201 | 202 | ### Remove 203 | 204 | Implemented? : y 205 | 206 | ### TentativeAccept 207 | 208 | Implemented? : y 209 | 210 | ### TentativeReject 211 | 212 | Implemented? : y 213 | 214 | ### Travel 215 | 216 | Implemented? : y 217 | 218 | ### Undo 219 | 220 | Implemented? : y 221 | 222 | ### Update 223 | 224 | Implemented? : y 225 | 226 | ### View 227 | 228 | Implemented? : y 229 | 230 | ### Application 231 | 232 | Implemented? : y 233 | 234 | ### Group 235 | 236 | Implemented? : y 237 | 238 | ### Organization 239 | 240 | Implemented? : y 241 | 242 | ### Person 243 | 244 | Implemented? : y 245 | 246 | ### Service 247 | 248 | Implemented? : y 249 | 250 | ### Article 251 | 252 | Implemented? : y 253 | 254 | ### Audio 255 | 256 | Implemented? : y 257 | 258 | ### Document 259 | 260 | Implemented? : y 261 | 262 | ### Event 263 | 264 | Implemented? : y 265 | 266 | ### Image 267 | 268 | Implemented? : y 269 | 270 | ### Note 271 | 272 | Implemented? : y 273 | 274 | ### Page 275 | 276 | Implemented? : y 277 | 278 | ### Place 279 | 280 | Implemented? : y 281 | 282 | * accuracy: y 283 | * altitude: y 284 | * latitude: y 285 | * longitude: y 286 | * radius: y 287 | * units: y 288 | 289 | ### Profile 290 | 291 | Implemented? : y 292 | 293 | * describes: y 294 | 295 | ### Relationship 296 | 297 | Implemented? : y 298 | 299 | * subject: y 300 | * object: y 301 | * relationship: y 302 | 303 | ### Tombstone 304 | 305 | Implemented? : y 306 | 307 | * formerType: y 308 | * deleted: y 309 | 310 | ### Video 311 | 312 | Implemented? : y 313 | 314 | ### Mention 315 | 316 | Implemented? : y 317 | 318 | ## Extensions 319 | 320 | * http://ns.jasnell.me/interval 321 | * http://ns.jasnell.me/social 322 | -------------------------------------------------------------------------------- /implementation-reports/mangoserver.md: -------------------------------------------------------------------------------- 1 | # MangoServer 2 | 3 | ## Implementation details 4 | 5 | * Application name: MangoServer 6 | * Version: 1.0 7 | * Platform name: N/A 8 | * License: Apache2 9 | * Main URL: https://github.com/azaroth42/MangoServer 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: publisher 13 | * Interface to other applications: network service 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : n 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: n 28 | * contentMap: n 29 | * context: n 30 | * duration: n 31 | * endTime: n 32 | * generator: y 33 | * icon: n 34 | * image: n 35 | * inReplyTo: n 36 | * location: n 37 | * mediaType: n 38 | * name: n 39 | * nameMap: n 40 | * preview: n 41 | * published: n 42 | * replies: n 43 | * startTime: n 44 | * summary: n 45 | * summaryMap: n 46 | * tag: n 47 | * to: n 48 | * updated: n 49 | * url: n 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | * height: n 56 | * hreflang: n 57 | * mediaType: n 58 | * name: n 59 | * rel: n 60 | * width: n 61 | 62 | ### Actor 63 | 64 | Implemented? : n 65 | 66 | ### Activity 67 | 68 | Implemented? : n 69 | 70 | * actor: n 71 | * object: n 72 | * target: n 73 | * origin: n 74 | * result: n 75 | * instrument: n 76 | 77 | ### IntransitiveActivity 78 | 79 | Implemented? : n 80 | 81 | ### Collection 82 | 83 | Implemented? : y 84 | 85 | * items: y 86 | * totalItems: y 87 | * first: y 88 | * last: y 89 | * current: y 90 | 91 | ### OrderedCollection 92 | 93 | Implemented? : y 94 | 95 | ### CollectionPage 96 | 97 | Implemented? : y 98 | 99 | * partOf: y 100 | * next: y 101 | * prev: y 102 | 103 | ### OrderedCollectionPage 104 | 105 | Implemented? : y 106 | 107 | * startIndex: y 108 | 109 | ## Extended classes 110 | 111 | ### Accept 112 | 113 | Implemented? : n 114 | 115 | ### Add 116 | 117 | Implemented? : n 118 | 119 | ### Announce 120 | 121 | Implemented? : n 122 | 123 | ### Arrive 124 | 125 | Implemented? : n 126 | 127 | ### Block 128 | 129 | Implemented? : n 130 | 131 | ### Create 132 | 133 | Implemented? : n 134 | 135 | ### Delete 136 | 137 | Implemented? : n 138 | 139 | ### Dislike 140 | 141 | Implemented? : n 142 | 143 | ### Flag 144 | 145 | Implemented? : n 146 | 147 | ### Follow 148 | 149 | Implemented? : n 150 | 151 | ### Ignore 152 | 153 | Implemented? : n 154 | 155 | ### Invite 156 | 157 | Implemented? : n 158 | 159 | ### Join 160 | 161 | Implemented? : n 162 | 163 | ### Leave 164 | 165 | Implemented? : n 166 | 167 | ### Like 168 | 169 | Implemented? : n 170 | 171 | ### Listen 172 | 173 | Implemented? : n 174 | 175 | ### Move 176 | 177 | Implemented? : n 178 | 179 | ### Offer 180 | 181 | Implemented? : n 182 | 183 | ### Question 184 | 185 | Implemented? : n 186 | 187 | * oneOf: n 188 | * anyOf: n 189 | * closed: n 190 | 191 | ### Read 192 | 193 | Implemented? : n 194 | 195 | ### Reject 196 | 197 | Implemented? : n 198 | 199 | ### Remove 200 | 201 | Implemented? : n 202 | 203 | ### TentativeAccept 204 | 205 | Implemented? : n 206 | 207 | ### TentativeReject 208 | 209 | Implemented? : n 210 | 211 | ### Travel 212 | 213 | Implemented? : n 214 | 215 | ### Undo 216 | 217 | Implemented? : n 218 | 219 | ### Update 220 | 221 | Implemented? : n 222 | 223 | ### View 224 | 225 | Implemented? : n 226 | 227 | ### Application 228 | 229 | Implemented? : n 230 | 231 | ### Group 232 | 233 | Implemented? : n 234 | 235 | ### Organization 236 | 237 | Implemented? : n 238 | 239 | ### Person 240 | 241 | Implemented? : n 242 | 243 | ### Service 244 | 245 | Implemented? : n 246 | 247 | ### Article 248 | 249 | Implemented? : n 250 | 251 | ### Audio 252 | 253 | Implemented? : n 254 | 255 | ### Document 256 | 257 | Implemented? : n 258 | 259 | ### Event 260 | 261 | Implemented? : n 262 | 263 | ### Image 264 | 265 | Implemented? : n 266 | 267 | ### Note 268 | 269 | Implemented? : n 270 | 271 | ### Page 272 | 273 | Implemented? : n 274 | 275 | ### Place 276 | 277 | Implemented? : n 278 | 279 | * accuracy: n 280 | * altitude: n 281 | * latitude: n 282 | * longitude: n 283 | * radius: n 284 | * units: n 285 | 286 | ### Profile 287 | 288 | Implemented? : n 289 | 290 | * describes: n 291 | 292 | ### Relationship 293 | 294 | Implemented? : n 295 | 296 | * subject: n 297 | * object: n 298 | * relationship: n 299 | 300 | ### Tombstone 301 | 302 | Implemented? : n 303 | 304 | * formerType:n 305 | * deleted: n 306 | 307 | ### Video 308 | 309 | Implemented? : n 310 | 311 | ### Tombstone 312 | 313 | Implemented? : n -------------------------------------------------------------------------------- /implementation-reports/pineapple-annotation.md: -------------------------------------------------------------------------------- 1 | # Python Pineapple Annotation Python 2 | 3 | ## Implementation details 4 | 5 | * Application name: PythonPineappleAnnotationPython 6 | * Version: 0.1 7 | * Platform name: N/A 8 | * License: Apache2 9 | * Main URL: https://github.com/azaroth42/PythonPineappleAnnotationPython 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: consumer 13 | * Interface to other applications: library 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : n 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: n 28 | * contentMap: n 29 | * context: n 30 | * duration: n 31 | * endTime: n 32 | * generator: y 33 | * icon: n 34 | * inReplyTo: n 35 | * location: n 36 | * mediaType: n 37 | * name: n 38 | * nameMap: n 39 | * preview: n 40 | * published: n 41 | * replies: n 42 | * startTime: n 43 | * summary: n 44 | * summaryMap: n 45 | * tag: n 46 | * to: n 47 | * updated: n 48 | * url: n 49 | 50 | ### Link 51 | 52 | Implemented? : n 53 | 54 | * height: n 55 | * hreflang: n 56 | * mediaType: n 57 | * name: n 58 | * rel: n 59 | * width: n 60 | 61 | ### Actor 62 | 63 | Implemented? : n 64 | 65 | ### Activity 66 | 67 | Implemented? : n 68 | 69 | * actor: n 70 | * object: n 71 | * target: n 72 | * origin: n 73 | * result: n 74 | * instrument: n 75 | 76 | ### IntransitiveActivity 77 | 78 | Implemented? : n 79 | 80 | ### Collection 81 | 82 | Implemented? : y 83 | 84 | * items: y 85 | * totalItems: y 86 | * first: y 87 | * last: y 88 | * current: y 89 | 90 | ### OrderedCollection 91 | 92 | Implemented? : y 93 | 94 | ### CollectionPage 95 | 96 | Implemented? : y 97 | 98 | * partOf: y 99 | * next: y 100 | * prev: y 101 | * startIndex: y 102 | 103 | ### OrderedCollectionPage 104 | 105 | Implemented? : y 106 | 107 | ## Extended classes 108 | 109 | ### Accept 110 | 111 | Implemented? : n 112 | 113 | ### Add 114 | 115 | Implemented? : n 116 | 117 | ### Announce 118 | 119 | Implemented? : n 120 | 121 | ### Arrive 122 | 123 | Implemented? : n 124 | 125 | ### Block 126 | 127 | Implemented? : n 128 | 129 | ### Create 130 | 131 | Implemented? : n 132 | 133 | ### Delete 134 | 135 | Implemented? : n 136 | 137 | ### Dislike 138 | 139 | Implemented? : n 140 | 141 | ### Flag 142 | 143 | Implemented? : n 144 | 145 | ### Follow 146 | 147 | Implemented? : n 148 | 149 | ### Ignore 150 | 151 | Implemented? : n 152 | 153 | ### Invite 154 | 155 | Implemented? : n 156 | 157 | ### Join 158 | 159 | Implemented? : n 160 | 161 | ### Leave 162 | 163 | Implemented? : n 164 | 165 | ### Like 166 | 167 | Implemented? : n 168 | 169 | ### Listen 170 | 171 | Implemented? : n 172 | 173 | ### Move 174 | 175 | Implemented? : n 176 | 177 | ### Offer 178 | 179 | Implemented? : n 180 | 181 | ### Question 182 | 183 | Implemented? : n 184 | 185 | * oneOf: n 186 | * anyOf: n 187 | * closed: n 188 | 189 | ### Read 190 | 191 | Implemented? : n 192 | 193 | ### Reject 194 | 195 | Implemented? : n 196 | 197 | ### Remove 198 | 199 | Implemented? : n 200 | 201 | ### TentativeAccept 202 | 203 | Implemented? : n 204 | 205 | ### TentativeReject 206 | 207 | Implemented? : n 208 | 209 | ### Travel 210 | 211 | Implemented? : n 212 | 213 | ### Undo 214 | 215 | Implemented? : n 216 | 217 | ### Update 218 | 219 | Implemented? : n 220 | 221 | ### View 222 | 223 | Implemented? : n 224 | 225 | ### Application 226 | 227 | Implemented? : y 228 | 229 | ### Group 230 | 231 | Implemented? : n 232 | 233 | ### Organization 234 | 235 | Implemented? : n 236 | 237 | ### Person 238 | 239 | Implemented? : n 240 | 241 | ### Service 242 | 243 | Implemented? : n 244 | 245 | ### Article 246 | 247 | Implemented? : n 248 | 249 | ### Audio 250 | 251 | Implemented? : n 252 | 253 | ### Document 254 | 255 | Implemented? : n 256 | 257 | ### Event 258 | 259 | Implemented? : n 260 | 261 | ### Image 262 | 263 | Implemented? : n 264 | 265 | ### Note 266 | 267 | Implemented? : n 268 | 269 | ### Page 270 | 271 | Implemented? : n 272 | 273 | ### Place 274 | 275 | Implemented? : n 276 | 277 | * accuracy: n 278 | * altitude: n 279 | * latitude: n 280 | * longitude: n 281 | * radius: n 282 | * units: n 283 | 284 | ### Profile 285 | 286 | Implemented? : n 287 | 288 | * describes: n 289 | 290 | ### Relationship 291 | 292 | Implemented? : n 293 | 294 | * subject: n 295 | * object: n 296 | * relationship: n 297 | 298 | ### Tombstone 299 | 300 | Implemented? : n 301 | 302 | * formerType:n 303 | * deleted: n 304 | 305 | ### Video 306 | 307 | Implemented? : n 308 | 309 | ### Tombstone 310 | 311 | Implemented? : n 312 | 313 | ## Extensions 314 | -------------------------------------------------------------------------------- /implementation-reports/pubstrate.md: -------------------------------------------------------------------------------- 1 | # Pubstrate 2 | 3 | ## Implementation details 4 | 5 | * Application name: Pubstrate 6 | * Version: 0.1.dev 7 | * Platform name: Guile library and ActivityPub implementation 8 | * License: GPLv3+ 9 | * Main URL: https://gitlab.com/dustyweb/pubstrate 10 | * Public: public 11 | * Activity Streams 2.0 URL: https://gitlab.com/dustyweb/pubstrate/blob/master/pubstrate/asobj.scm and https://gitlab.com/dustyweb/pubstrate/blob/master/pubstrate/vocab.scm 12 | * Application role: both 13 | * Interface to other applications: AS2 library, ActivityPub server implementation 14 | 15 | ## Core classes 16 | 17 | Although Pubstrate permits any valid AS2 properties, which properties 18 | are implemented are limited to the ones currently utilized by the 19 | ActivityPub implementation. 20 | 21 | ### Object 22 | 23 | Implemented? : y 24 | 25 | * attachment: n 26 | * attributedTo: y 27 | * audience: n 28 | * bcc: y 29 | * bto: y 30 | * cc: y 31 | * content: y 32 | * contentMap: n 33 | * context: y 34 | * duration: n 35 | * endTime: y 36 | * generator: n 37 | * icon: y 38 | * image: y 39 | * inReplyTo: y 40 | * location: n 41 | * mediaType: y 42 | * name: y 43 | * nameMap: n 44 | * preview: n 45 | * published: y 46 | * replies: n 47 | * startTime: y 48 | * summary: n 49 | * summaryMap: n 50 | * tag: y 51 | * to: y 52 | * updated: y 53 | * url: y 54 | 55 | ### Link 56 | 57 | Implemented? : y 58 | 59 | * height: y 60 | * hreflang: n 61 | * href: y 62 | * mediaType: y 63 | * name: y 64 | * rel: n 65 | * width: y 66 | 67 | ### Actor 68 | 69 | Implemented? : y 70 | 71 | ### Activity 72 | 73 | Implemented? : y 74 | 75 | * actor: y 76 | * object: y 77 | * target: n 78 | * origin: n 79 | * result: y 80 | * instrument: y 81 | 82 | ### IntransitiveActivity 83 | 84 | Implemented? : y 85 | 86 | ### Collection 87 | 88 | Implemented? : y 89 | 90 | * items: y 91 | * totalItems: y 92 | * first: y 93 | * last: y 94 | * current: y 95 | 96 | ### OrderedCollection 97 | 98 | Implemented? : y 99 | 100 | * orderedItems: y 101 | 102 | ### CollectionPage 103 | 104 | Implemented? : y 105 | 106 | * partOf: y 107 | * next: y 108 | * prev: y 109 | 110 | ### OrderedCollectionPage 111 | 112 | Implemented? : y 113 | 114 | ## Extended classes 115 | 116 | ### Accept 117 | 118 | Implemented? : y 119 | 120 | ### Add 121 | 122 | Implemented? : y 123 | 124 | ### Announce 125 | 126 | Implemented? : y 127 | 128 | ### Arrive 129 | 130 | Implemented? : y 131 | 132 | ### Block 133 | 134 | Implemented? : y 135 | 136 | ### Create 137 | 138 | Implemented? : y 139 | 140 | ### Delete 141 | 142 | Implemented? : y 143 | 144 | ### Dislike 145 | 146 | Implemented? : y 147 | 148 | ### Flag 149 | 150 | Implemented? : y 151 | 152 | ### Follow 153 | 154 | Implemented? : y 155 | 156 | ### Ignore 157 | 158 | Implemented? : y 159 | 160 | ### Invite 161 | 162 | Implemented? : y 163 | 164 | ### Join 165 | 166 | Implemented? : y 167 | 168 | ### Leave 169 | 170 | Implemented? : y 171 | 172 | ### Like 173 | 174 | Implemented? : y 175 | 176 | ### Listen 177 | 178 | Implemented? : y 179 | 180 | ### Mention 181 | 182 | Implemented? : y 183 | 184 | ### Move 185 | 186 | Implemented? : y 187 | 188 | ### Offer 189 | 190 | Implemented? : y 191 | 192 | ### Question 193 | 194 | Implemented? : y 195 | 196 | * oneOf: y 197 | * anyOf: y 198 | * closed: y 199 | 200 | ### Read 201 | 202 | Implemented? : y 203 | 204 | ### Reject 205 | 206 | Implemented? : y 207 | 208 | ### Remove 209 | 210 | Implemented? : y 211 | 212 | ### TentativeAccept 213 | 214 | Implemented? : y 215 | 216 | ### TentativeReject 217 | 218 | Implemented? : y 219 | 220 | ### Travel 221 | 222 | Implemented? : y 223 | 224 | ### Undo 225 | 226 | Implemented? : y 227 | 228 | ### Update 229 | 230 | Implemented? : y 231 | 232 | ### View 233 | 234 | Implemented? : y 235 | 236 | ### Application 237 | 238 | Implemented? : y 239 | 240 | ### Group 241 | 242 | Implemented? : y 243 | 244 | ### Organization 245 | 246 | Implemented? : y 247 | 248 | ### Person 249 | 250 | Implemented? : y 251 | 252 | ### Service 253 | 254 | Implemented? : y 255 | 256 | ### Article 257 | 258 | Implemented? : y 259 | 260 | ### Audio 261 | 262 | Implemented? : y 263 | 264 | ### Document 265 | 266 | Implemented? : y 267 | 268 | ### Event 269 | 270 | Implemented? : y 271 | 272 | ### Image 273 | 274 | Implemented? : y 275 | 276 | ### Note 277 | 278 | Implemented? : y 279 | 280 | ### Page 281 | 282 | Implemented? : y 283 | 284 | ### Place 285 | 286 | Implemented? : y 287 | 288 | * accuracy: n 289 | * altitude: n 290 | * latitude: n 291 | * longitude: n 292 | * radius: n 293 | * units: n 294 | 295 | ### Profile 296 | 297 | Implemented? : y 298 | 299 | * describes: n 300 | 301 | ### Relationship 302 | 303 | Implemented? : y 304 | 305 | * subject: n 306 | * object: n 307 | * relationship: n 308 | 309 | ### Tombstone 310 | 311 | Implemented? : y 312 | 313 | * formerType: y 314 | * deleted: y 315 | 316 | ### Video 317 | 318 | Implemented? : y 319 | 320 | ### Tombstone 321 | 322 | Implemented? : y 323 | 324 | ## Extensions 325 | 326 | Pubstrate utilizes ActivityPub's extensions to ActivityStreams and 327 | permits adding new extensions. 328 | -------------------------------------------------------------------------------- /implementation-reports/sloph.md: -------------------------------------------------------------------------------- 1 | # Sloph 2 | 3 | This is the codebase for my personal site, which serves as an AS2 publisher. All notes, articles, and other activites are exposed as AS2 `Object`s or `Activity`s. Tag pages and photo albums are `Collection`s. Data is available as `activity+json`, `ld+json` and `text/turtle`, as well as `text/html`, according to `Accept` headers sent. It is written in PHP and permanent work-in-progress. 4 | 5 | ## Implementation details 6 | 7 | * Application name: Sloph 8 | * Version: 0.1 9 | * Platform name: n/a 10 | * License: %open source license or other% 11 | * Main URL: https://rhiaro.co.uk/sloph 12 | * Public: public 13 | * Activity Streams 2.0 URL: n/a 14 | * Application role: publisher 15 | * Interface to other applications: website with content negotiation 16 | 17 | ## Core classes 18 | 19 | ### Object 20 | 21 | Implemented? : y 22 | 23 | * attachment: n 24 | * attributedTo: y 25 | * audience: n 26 | * bcc: n 27 | * bto: n 28 | * cc: y 29 | * content: y 30 | * contentMap: n 31 | * context: n 32 | * duration: y 33 | * endTime: y 34 | * generator: y 35 | * icon: n 36 | * image: y 37 | * inReplyTo: y 38 | * location: y 39 | * mediaType: n 40 | * name: y 41 | * nameMap: n 42 | * preview: n 43 | * published: y 44 | * replies: n (planned) 45 | * startTime: y 46 | * summary: y 47 | * summaryMap: n 48 | * tag: y 49 | * to: y 50 | * updated: y 51 | * url: y 52 | 53 | ### Link 54 | 55 | Implemented? : n 56 | 57 | * height: n 58 | * hreflang: n 59 | * mediaType: n 60 | * name: n 61 | * rel: n 62 | * width: n 63 | 64 | ### Actor 65 | 66 | Implemented? : y 67 | 68 | ### Activity 69 | 70 | Implemented? : y 71 | 72 | * actor: y 73 | * object: y 74 | * target: y 75 | * origin: y 76 | * result: n 77 | * instrument: n 78 | 79 | ### IntransitiveActivity 80 | 81 | Implemented? : n 82 | 83 | ### Collection 84 | 85 | Implemented? : y 86 | 87 | * items: y 88 | * totalItems: y 89 | * first: n 90 | * last: n 91 | * current: n 92 | 93 | ### OrderedCollection 94 | 95 | Implemented? : n (planned) 96 | 97 | ### CollectionPage 98 | 99 | Implemented? : y 100 | 101 | * partOf: y 102 | * next: y 103 | * prev: y 104 | 105 | ### OrderedCollectionPage 106 | 107 | Implemented? : n 108 | 109 | ## Extended classes 110 | 111 | ### Accept 112 | 113 | Implemented? : y 114 | 115 | ### Add 116 | 117 | Implemented? : y 118 | 119 | ### Announce 120 | 121 | Implemented? : y 122 | 123 | ### Arrive 124 | 125 | Implemented? : y 126 | 127 | ### Block 128 | 129 | Implemented? : n (planned) 130 | 131 | ### Create 132 | 133 | Implemented? : y 134 | 135 | ### Delete 136 | 137 | Implemented? : n (planned) 138 | 139 | ### Dislike 140 | 141 | Implemented? : n (planned) 142 | 143 | ### Flag 144 | 145 | Implemented? : n 146 | 147 | ### Follow 148 | 149 | Implemented? : y 150 | 151 | ### Ignore 152 | 153 | Implemented? : n 154 | 155 | ### Invite 156 | 157 | Implemented? : y 158 | 159 | ### Join 160 | 161 | Implemented? : n (planned) 162 | 163 | ### Leave 164 | 165 | Implemented? : n (planned) 166 | 167 | ### Like 168 | 169 | Implemented? : y 170 | 171 | ### Listen 172 | 173 | Implemented? : n 174 | 175 | ### Move 176 | 177 | Implemented? : n (planned) 178 | 179 | ### Offer 180 | 181 | Implemented? : n (planned) 182 | 183 | ### Question 184 | 185 | Implemented? : n 186 | 187 | * oneOf: n 188 | * anyOf: n 189 | * closed: n 190 | 191 | ### Read 192 | 193 | Implemented? : y 194 | 195 | ### Reject 196 | 197 | Implemented? : n 198 | 199 | ### Remove 200 | 201 | Implemented? : n (planned) 202 | 203 | ### TentativeAccept 204 | 205 | Implemented? : n 206 | 207 | ### TentativeReject 208 | 209 | Implemented? : n 210 | 211 | ### Travel 212 | 213 | Implemented? : y 214 | 215 | ### Undo 216 | 217 | Implemented? : n 218 | 219 | ### Update 220 | 221 | Implemented? : y 222 | 223 | ### View 224 | 225 | Implemented? : n 226 | 227 | ### Application 228 | 229 | Implemented? : n 230 | 231 | ### Group 232 | 233 | Implemented? : n 234 | 235 | ### Organization 236 | 237 | Implemented? : n 238 | 239 | ### Person 240 | 241 | Implemented? : y 242 | 243 | ### Service 244 | 245 | Implemented? : n 246 | 247 | ### Article 248 | 249 | Implemented? : y 250 | 251 | ### Audio 252 | 253 | Implemented? : n 254 | 255 | ### Document 256 | 257 | Implemented? : n 258 | 259 | ### Event 260 | 261 | Implemented? : y 262 | 263 | ### Image 264 | 265 | Implemented? : y 266 | 267 | ### Note 268 | 269 | Implemented? : y 270 | 271 | ### Page 272 | 273 | Implemented? : n 274 | 275 | ### Place 276 | 277 | Implemented? : y 278 | 279 | * accuracy: 280 | * altitude: 281 | * latitude: 282 | * longitude: 283 | * radius: 284 | * units: 285 | 286 | ### Profile 287 | 288 | Implemented? : y 289 | 290 | * describes: y 291 | 292 | ### Relationship 293 | 294 | Implemented? : y 295 | 296 | * subject: y 297 | * object: y 298 | * relationship: y 299 | 300 | ### Tombstone 301 | 302 | Implemented? : n (probably planned) 303 | 304 | * formerType: n 305 | * deleted: n 306 | 307 | ### Video 308 | 309 | Implemented? : n 310 | 311 | ## Extensions 312 | 313 | Extensions as I add them documented at https://rhiaro.co.uk/terms/as/ 314 | 315 | ### Consume 316 | 317 | Implemented? : y 318 | 319 | (for when I ate or drank something) 320 | 321 | ### Acquire 322 | 323 | Implemented? : y 324 | 325 | (for when I bought or was given something) 326 | 327 | ### Sleep 328 | 329 | Implemented? : y 330 | 331 | (for when I slept) 332 | 333 | * inbox: y 334 | * outbox: y 335 | -------------------------------------------------------------------------------- /implementation-reports/soci-el.md: -------------------------------------------------------------------------------- 1 | # soci-el 2 | 3 | ## Implementation details 4 | 5 | * Application name: soci-el 6 | * Version: 0.1-pre 7 | * Platform name: Emacs 8 | * License: GPLv3+ 9 | * Main URL: https://gitlab.com/dustyweb/soci-el 10 | * Public: public 11 | * Activity Streams 2.0 URL: https://gitlab.com/dustyweb/soci-el/blob/master/soci.el 12 | * Application role: both 13 | * Interface to other applications: client (with minimal library) 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: y 25 | * bto: y 26 | * cc: y 27 | * content: y 28 | * contentMap: n 29 | * context: y 30 | * duration: n 31 | * endTime: n 32 | * generator: n 33 | * icon: n 34 | * image: n 35 | * inReplyTo: n 36 | * location: n 37 | * mediaType: n 38 | * name: y 39 | * nameMap: n 40 | * preview: n 41 | * published: n 42 | * replies: n 43 | * startTime: n 44 | * summary: n 45 | * summaryMap: n 46 | * tag: n 47 | * to: y 48 | * updated: n 49 | * url: y 50 | 51 | ### Link 52 | 53 | Implemented? : y 54 | 55 | * height: n 56 | * hreflang: n 57 | * href: y 58 | * mediaType: n 59 | * name: y 60 | * rel: n 61 | * width: n 62 | 63 | ### Actor 64 | 65 | Implemented? : y 66 | 67 | ### Activity 68 | 69 | Implemented? : y 70 | 71 | * actor: y 72 | * object: y 73 | * target: n 74 | * origin: n 75 | * result: n 76 | * instrument: n 77 | 78 | ### IntransitiveActivity 79 | 80 | Implemented? : y 81 | 82 | ### Collection 83 | 84 | Implemented? : y 85 | 86 | * items: y 87 | * totalItems: n 88 | * first: y 89 | * last: y 90 | * current: n 91 | 92 | ### OrderedCollection 93 | 94 | Implemented? : y 95 | 96 | * orderedItems: y 97 | 98 | ### CollectionPage 99 | 100 | Implemented? : y 101 | 102 | * partOf: y 103 | * next: y 104 | * prev: y 105 | 106 | ### OrderedCollectionPage 107 | 108 | Implemented? : y 109 | 110 | ## Extended classes 111 | 112 | ### Accept 113 | 114 | Implemented? : y 115 | 116 | ### Add 117 | 118 | Implemented? : y 119 | 120 | ### Announce 121 | 122 | Implemented? : y 123 | 124 | ### Arrive 125 | 126 | Implemented? : y 127 | 128 | ### Block 129 | 130 | Implemented? : y 131 | 132 | ### Create 133 | 134 | Implemented? : y 135 | 136 | ### Delete 137 | 138 | Implemented? : y 139 | 140 | ### Dislike 141 | 142 | Implemented? : y 143 | 144 | ### Flag 145 | 146 | Implemented? : y 147 | 148 | ### Follow 149 | 150 | Implemented? : y 151 | 152 | ### Ignore 153 | 154 | Implemented? : y 155 | 156 | ### Invite 157 | 158 | Implemented? : y 159 | 160 | ### Join 161 | 162 | Implemented? : y 163 | 164 | ### Leave 165 | 166 | Implemented? : y 167 | 168 | ### Like 169 | 170 | Implemented? : y 171 | 172 | ### Listen 173 | 174 | Implemented? : y 175 | 176 | ### Move 177 | 178 | Implemented? : y 179 | 180 | ### Offer 181 | 182 | Implemented? : y 183 | 184 | ### Question 185 | 186 | Implemented? : y 187 | 188 | * oneOf: n 189 | * anyOf: n 190 | * closed: n 191 | 192 | ### Read 193 | 194 | Implemented? : y 195 | 196 | ### Reject 197 | 198 | Implemented? : y 199 | 200 | ### Remove 201 | 202 | Implemented? : y 203 | 204 | ### TentativeAccept 205 | 206 | Implemented? : y 207 | 208 | ### TentativeReject 209 | 210 | Implemented? : y 211 | 212 | ### Travel 213 | 214 | Implemented? : y 215 | 216 | ### Undo 217 | 218 | Implemented? : y 219 | 220 | ### Update 221 | 222 | Implemented? : y 223 | 224 | ### View 225 | 226 | Implemented? : y 227 | 228 | ### Application 229 | 230 | Implemented? : y 231 | 232 | ### Group 233 | 234 | Implemented? : y 235 | 236 | ### Organization 237 | 238 | Implemented? : y 239 | 240 | ### Person 241 | 242 | Implemented? : y 243 | 244 | ### Service 245 | 246 | Implemented? : y 247 | 248 | ### Article 249 | 250 | Implemented? : y 251 | 252 | ### Audio 253 | 254 | Implemented? : y 255 | 256 | ### Document 257 | 258 | Implemented? : y 259 | 260 | ### Event 261 | 262 | Implemented? : y 263 | 264 | ### Image 265 | 266 | Implemented? : y 267 | 268 | ### Note 269 | 270 | Implemented? : y 271 | 272 | ### Page 273 | 274 | Implemented? : y 275 | 276 | ### Place 277 | 278 | Implemented? : y 279 | 280 | * accuracy: n 281 | * altitude: n 282 | * latitude: n 283 | * longitude: n 284 | * radius: n 285 | * units: n 286 | 287 | ### Profile 288 | 289 | Implemented? : y 290 | 291 | * describes: n 292 | 293 | ### Relationship 294 | 295 | Implemented? : y 296 | 297 | * subject: n 298 | * object: n 299 | * relationship: n 300 | 301 | ### Tombstone 302 | 303 | Implemented? : y 304 | 305 | * formerType: n 306 | * deleted: y 307 | 308 | ### Video 309 | 310 | Implemented? : y 311 | 312 | ### Tombstone 313 | 314 | Implemented? : y 315 | 316 | ## Extensions 317 | 318 | soci-el permits extensions and uses ActivityPub's vocabulary extensions. 319 | 320 | -------------------------------------------------------------------------------- /implementation-reports/socialstreams.md: -------------------------------------------------------------------------------- 1 | # Social Streams 2 | 3 | ## Implementation details 4 | 5 | * Application name: Social Streams 6 | * Version: Alpha 2 7 | * Platform name: N/A 8 | * License: Apache License, Version 2.0 9 | * Main URL: http://github.com/dissolve/socialstream/ 10 | * Public: public 11 | * Activity Streams 2.0 URL: http://stream.thatmustbe.us/ 12 | * Application role: publisher 13 | * Interface to other applications: network service 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: n 22 | * attributedTo: n 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: y 28 | * contentMap: n 29 | * context: n 30 | * duration: n 31 | * endTime: n 32 | * generator: n 33 | * icon: n 34 | * image: n 35 | * inReplyTo: y 36 | * location: n 37 | * mediaType: y 38 | * name: y 39 | * nameMap: n 40 | * preview: n 41 | * published: y 42 | * replies: y 43 | * startTime: n 44 | * summary: n 45 | * summaryMap: n 46 | * tag: n 47 | * to: n 48 | * updated: y 49 | * url: y 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | * height: n 56 | * hreflang: n 57 | * mediaType: n 58 | * name: n 59 | * rel: n 60 | * width: n 61 | 62 | ### Actor 63 | 64 | Implemented? : y 65 | 66 | ### Activity 67 | 68 | Implemented? : n 69 | 70 | * actor: n 71 | * object: n 72 | * target: n 73 | * origin: n 74 | * result: n 75 | * instrument: n 76 | 77 | ### IntransitiveActivity 78 | 79 | Implemented? : n 80 | 81 | ### Collection 82 | 83 | Implemented? : y 84 | 85 | * items: y 86 | * totalItems: n 87 | * first: n 88 | * last: n 89 | * current: n 90 | 91 | ### OrderedCollection 92 | 93 | Implemented? : n 94 | 95 | ### CollectionPage 96 | 97 | Implemented? : n 98 | 99 | * partOf: n 100 | * next: n 101 | * prev: n 102 | 103 | ### OrderedCollectionPage 104 | 105 | Implemented? : n 106 | 107 | ## Extended classes 108 | 109 | ### Accept 110 | 111 | Implemented? : y 112 | 113 | ### Add 114 | 115 | Implemented? : n 116 | 117 | ### Announce 118 | 119 | Implemented? : n 120 | 121 | ### Arrive 122 | 123 | Implemented? : n 124 | 125 | ### Block 126 | 127 | Implemented? : n 128 | 129 | ### Create 130 | 131 | Implemented? : y 132 | 133 | ### Delete 134 | 135 | Implemented? : n 136 | 137 | ### Dislike 138 | 139 | Implemented? : n 140 | 141 | ### Flag 142 | 143 | Implemented? : n 144 | 145 | ### Follow 146 | 147 | Implemented? : n 148 | 149 | ### Ignore 150 | 151 | Implemented? : n 152 | 153 | ### Invite 154 | 155 | Implemented? : y 156 | 157 | ### Join 158 | 159 | Implemented? : n 160 | 161 | ### Leave 162 | 163 | Implemented? : n 164 | 165 | ### Like 166 | 167 | Implemented? : y 168 | 169 | ### Listen 170 | 171 | Implemented? : n 172 | 173 | ### Move 174 | 175 | Implemented? : n 176 | 177 | ### Offer 178 | 179 | Implemented? : n 180 | 181 | ### Question 182 | 183 | Implemented? : n 184 | 185 | * oneOf: n 186 | * anyOf: n 187 | * closed: n 188 | 189 | ### Read 190 | 191 | Implemented? : n 192 | 193 | ### Reject 194 | 195 | Implemented? : y 196 | 197 | ### Remove 198 | 199 | Implemented? : n 200 | 201 | ### TentativeAccept 202 | 203 | Implemented? : y 204 | 205 | ### TentativeReject 206 | 207 | Implemented? : n 208 | 209 | ### Travel 210 | 211 | Implemented? : n 212 | 213 | ### Undo 214 | 215 | Implemented? : n 216 | 217 | ### Update 218 | 219 | Implemented? : n 220 | 221 | ### View 222 | 223 | Implemented? : n 224 | 225 | ### Application 226 | 227 | Implemented? : n 228 | 229 | ### Group 230 | 231 | Implemented? : n 232 | 233 | ### Organization 234 | 235 | Implemented? : n 236 | 237 | ### Person 238 | 239 | Implemented? : y 240 | 241 | ### Service 242 | 243 | Implemented? : n 244 | 245 | ### Article 246 | 247 | Implemented? : n 248 | 249 | ### Audio 250 | 251 | Implemented? : n 252 | 253 | ### Document 254 | 255 | Implemented? : n 256 | 257 | ### Event 258 | 259 | Implemented? : y 260 | 261 | ### Image 262 | 263 | Implemented? : n 264 | 265 | ### Note 266 | 267 | Implemented? : y 268 | 269 | ### Page 270 | 271 | Implemented? : n 272 | 273 | ### Place 274 | 275 | Implemented? : n 276 | 277 | * accuracy: n 278 | * altitude: n 279 | * latitude: n 280 | * longitude: n 281 | * radius: n 282 | * units: n 283 | 284 | ### Profile 285 | 286 | Implemented? : n 287 | 288 | * describes: n 289 | 290 | ### Relationship 291 | 292 | Implemented? : n 293 | 294 | * subject: n 295 | * object: n 296 | * relationship: n 297 | 298 | ### Tombstone 299 | 300 | Implemented? : n 301 | 302 | * formerType: n 303 | * deleted: n 304 | 305 | ### Video 306 | 307 | Implemented? : n 308 | 309 | ### Tombstone 310 | 311 | Implemented? : n 312 | 313 | ## Extensions 314 | -------------------------------------------------------------------------------- /implementation-reports/sockethub.md: -------------------------------------------------------------------------------- 1 | # Sockethub 2 | 3 | ## Implementation details 4 | 5 | * Application name: Sockethub 6 | * Version: v1.0.0 7 | * Platform name: N/A 8 | * License: LGPL-3.0+ 9 | * Main URL: https://github.com/sockethub/sockethub 10 | * Public: public 11 | * Activity Streams 2.0 URL: N/A 12 | * Application role: both 13 | * Interface to other applications: network service 14 | 15 | ## Core classes 16 | 17 | ### Object 18 | 19 | Implemented? : y 20 | 21 | * attachment: n 22 | * attributedTo: y (as author) 23 | * audience: n 24 | * bcc: n 25 | * bto: n 26 | * cc: n 27 | * content: y (as text) 28 | * contentMap: n 29 | * context: n 30 | * duration: n 31 | * endTime: n 32 | * generator: n 33 | * icon: n 34 | * image: y 35 | * inReplyTo: n 36 | * location: n 37 | * mediaType: n 38 | * name: y 39 | * nameMap: n 40 | * preview: n 41 | * published: y (as date) 42 | * replies: n 43 | * startTime: n 44 | * summary: y (as brief) 45 | * summaryMap: n 46 | * tag: y (as tags) 47 | * to: n 48 | * updated: n 49 | * url: y (as link) 50 | 51 | ### Link 52 | 53 | Implemented? : n 54 | 55 | * height: n 56 | * hreflang: n 57 | * mediaType: n 58 | * name: n 59 | * rel: n 60 | * width: n 61 | 62 | ### Actor 63 | 64 | Implemented? : y 65 | 66 | ### Activity 67 | 68 | Implemented? : y 69 | 70 | * actor: y 71 | * object: y 72 | * target: y 73 | * origin: n 74 | * result: y 75 | * instrument: n 76 | 77 | ### IntransitiveActivity 78 | 79 | Implemented? : n 80 | 81 | ### Collection 82 | 83 | Implemented? : n 84 | 85 | * items: n 86 | * totalItems: n 87 | * first: n 88 | * last: n 89 | * current: n 90 | * startIndex: n 91 | 92 | ### OrderedCollection 93 | 94 | Implemented? : n 95 | 96 | ### CollectionPage 97 | 98 | Implemented? : n 99 | 100 | * partOf: n 101 | * next: n 102 | * prev: n 103 | 104 | ### OrderedCollectionPage 105 | 106 | Implemented? : n 107 | 108 | * startIndex: n 109 | 110 | ## Extended classes 111 | 112 | ### Accept 113 | 114 | Implemented? : n 115 | 116 | ### Add 117 | 118 | Implemented? : n 119 | 120 | ### Announce 121 | 122 | Implemented? : y 123 | 124 | ### Arrive 125 | 126 | Implemented? : n 127 | 128 | ### Block 129 | 130 | Implemented? : n 131 | 132 | ### Create 133 | 134 | Implemented? : n 135 | 136 | ### Delete 137 | 138 | Implemented? : n 139 | 140 | ### Dislike 141 | 142 | Implemented? : n 143 | 144 | ### Flag 145 | 146 | Implemented? : n 147 | 148 | ### Follow 149 | 150 | Implemented? : y 151 | 152 | ### Ignore 153 | 154 | Implemented? : n 155 | 156 | ### Invite 157 | 158 | Implemented? : y 159 | 160 | ### Join 161 | 162 | Implemented? : y 163 | 164 | ### Leave 165 | 166 | Implemented? : y 167 | 168 | ### Like 169 | 170 | Implemented? : n 171 | 172 | ### Listen 173 | 174 | Implemented? : n 175 | 176 | ### Move 177 | 178 | Implemented? : n 179 | 180 | ### Offer 181 | 182 | Implemented? : n 183 | 184 | ### Question 185 | 186 | Implemented? : n 187 | 188 | * oneOf: n 189 | * anyOf: n 190 | * closed: n 191 | 192 | ### Read 193 | 194 | Implemented? : n 195 | 196 | ### Reject 197 | 198 | Implemented? : n 199 | 200 | ### Remove 201 | 202 | Implemented? : n 203 | 204 | ### TentativeAccept 205 | 206 | Implemented? : n 207 | 208 | ### TentativeReject 209 | 210 | Implemented? : n 211 | 212 | ### Travel 213 | 214 | Implemented? : n 215 | 216 | ### Undo 217 | 218 | Implemented? : n 219 | 220 | ### Update 221 | 222 | Implemented? : y 223 | 224 | ### View 225 | 226 | Implemented? : n 227 | 228 | ### Application 229 | 230 | Implemented? : n 231 | 232 | ### Group 233 | 234 | Implemented? : y 235 | 236 | ### Organization 237 | 238 | Implemented? : y 239 | 240 | ### Person 241 | 242 | Implemented? : y 243 | 244 | ### Service 245 | 246 | Implemented? : n 247 | 248 | ### Article 249 | 250 | Implemented? : y 251 | 252 | ### Audio 253 | 254 | Implemented? : n 255 | 256 | ### Document 257 | 258 | Implemented? : n 259 | 260 | ### Event 261 | 262 | Implemented? : n 263 | 264 | ### Image 265 | 266 | Implemented? : n 267 | 268 | ### Note 269 | 270 | Implemented? : n 271 | 272 | ### Page 273 | 274 | Implemented? : n 275 | 276 | ### Place 277 | 278 | Implemented? : n 279 | 280 | * accuracy: n 281 | * altitude: n 282 | * latitude: n 283 | * longitude: n 284 | * radius: n 285 | * units: n 286 | 287 | ### Profile 288 | 289 | Implemented? : n 290 | 291 | * describes: n 292 | 293 | ### Relationship 294 | 295 | Implemented? : n 296 | 297 | * subject: n 298 | * object: n 299 | * relationship: n 300 | 301 | ### Tombstone 302 | 303 | Implemented? : n 304 | 305 | * formerType: n 306 | * deleted: n 307 | 308 | ### Video 309 | 310 | Implemented? : n 311 | 312 | ### Tombstone 313 | 314 | Implemented? : n 315 | 316 | ## Extensions 317 | 318 | -------------------------------------------------------------------------------- /implementation-reports/template.md: -------------------------------------------------------------------------------- 1 | # %Implementation name% 2 | 3 | %(This is an implementation report template for Activity Streams 2.0. To use this 4 | template, replace anything between percent boundaries with values for your 5 | own implementation. You can safely delete any text surrounded by 6 | percent-parenthesis pairs.)% 7 | 8 | %(The completed implementation report can be submitted with a Github pull 9 | request, or by email to public-socialweb-comments@w3.org.)% 10 | 11 | ## Implementation details 12 | 13 | * Application name: %name% 14 | * Version: %first version with Activity Streams 2.0 support% 15 | * Platform name: %platform if this is a plugin or extension, otherwise "N/A"% 16 | * License: %open source license or other% 17 | * Main URL: %Main URL for the application% 18 | * Public: %"public" or "private"% 19 | * Activity Streams 2.0 URL: %url for features specific to AS2% 20 | * Application role: %"publisher", "consumer", "both"% 21 | * Interface to other applications: %"library", "network service", "other"% 22 | 23 | ## Core classes 24 | 25 | %(For each core class your application implements, note which properties of the 26 | class it uses. Here, "implements" means that your application uses the property 27 | directly; just passing through unrecognized properties doesn't count as an 28 | "implementation".)% 29 | 30 | ### Object 31 | 32 | Implemented? : %"y", "n"% (%comments%) 33 | 34 | * attachment: %"y", "n"% (%comments%) 35 | * attributedTo: %"y", "n"% (%comments%) 36 | * audience: %"y", "n"% (%comments%) 37 | * bcc: %"y", "n"% (%comments%) 38 | * bto: %"y", "n"% (%comments%) 39 | * cc: %"y", "n"% (%comments%) 40 | * content: %"y", "n"% (%comments%) 41 | * contentMap: %"y", "n"% (%comments%) 42 | * context: %"y", "n"% (%comments%) 43 | * duration: %"y", "n"% (%comments%) 44 | * endTime: %"y", "n"% (%comments%) 45 | * generator: %"y", "n"% (%comments%) 46 | * icon: %"y", "n"% (%comments%) 47 | * image: %"y", "n"% (%comments%) 48 | * inReplyTo: %"y", "n"% (%comments%) 49 | * location: %"y", "n"% (%comments%) 50 | * mediaType: %"y", "n"% (%comments%) 51 | * name: %"y", "n"% (%comments%) 52 | * nameMap: %"y", "n"% (%comments%) 53 | * preview: %"y", "n"% (%comments%) 54 | * published: %"y", "n"% (%comments%) 55 | * replies: %"y", "n"% (%comments%) 56 | * startTime: %"y", "n"% (%comments%) 57 | * summary: %"y", "n"% (%comments%) 58 | * summaryMap: %"y", "n"% (%comments%) 59 | * tag: %"y", "n"% (%comments%) 60 | * to: %"y", "n"% (%comments%) 61 | * updated: %"y", "n"% (%comments%) 62 | * url: %"y", "n"% (%comments%) 63 | 64 | ### Link 65 | 66 | Implemented? : %"y", "n"% (%comments%) 67 | 68 | * height: %"y", "n"% (%comments%) 69 | * href: %"y", "n"% (%comments%) 70 | * hreflang: %"y", "n"% (%comments%) 71 | * mediaType: %"y", "n"% (%comments%) 72 | * name: %"y", "n"% (%comments%) 73 | * rel: %"y", "n"% (%comments%) 74 | * width: %"y", "n"% (%comments%) 75 | 76 | ### Actor 77 | 78 | Implemented? : %"y", "n"% (%comments%) 79 | 80 | ### Activity 81 | 82 | Implemented? : %"y", "n"% (%comments%) 83 | 84 | * actor: %"y", "n"% (%comments%) 85 | * object: %"y", "n"% (%comments%) 86 | * target: %"y", "n"% (%comments%) 87 | * origin: %"y", "n"% (%comments%) 88 | * result: %"y", "n"% (%comments%) 89 | * instrument: %"y", "n"% (%comments%) 90 | 91 | ### IntransitiveActivity 92 | 93 | Implemented? : %"y", "n"% (%comments%) 94 | 95 | ### Collection 96 | 97 | Implemented? : %"y", "n"% (%comments%) 98 | 99 | * items: %"y", "n"% (%comments%) 100 | * totalItems: %"y", "n"% (%comments%) 101 | * first: %"y", "n"% (%comments%) 102 | * last: %"y", "n"% (%comments%) 103 | * current: %"y", "n"% (%comments%) 104 | * startIndex: %"y", "n"% (%comments%) 105 | 106 | ### OrderedCollection 107 | 108 | Implemented? : %"y", "n"% (%comments%) 109 | 110 | ### CollectionPage 111 | 112 | Implemented? : %"y", "n"% (%comments%) 113 | 114 | * partOf: %"y", "n"% (%comments%) 115 | * next: %"y", "n"% (%comments%) 116 | * prev: %"y", "n"% (%comments%) 117 | 118 | ### OrderedCollectionPage 119 | 120 | Implemented? : %"y", "n"% (%comments%) 121 | 122 | * startIndex: %"y", "n"% (%comments%) 123 | 124 | ## Extended classes 125 | 126 | ### Accept 127 | 128 | Implemented? : %"y", "n"% (%comments%) 129 | 130 | ### Add 131 | 132 | Implemented? : %"y", "n"% (%comments%) 133 | 134 | ### Announce 135 | 136 | Implemented? : %"y", "n"% (%comments%) 137 | 138 | ### Arrive 139 | 140 | Implemented? : %"y", "n"% (%comments%) 141 | 142 | ### Block 143 | 144 | Implemented? : %"y", "n"% (%comments%) 145 | 146 | ### Create 147 | 148 | Implemented? : %"y", "n"% (%comments%) 149 | 150 | ### Delete 151 | 152 | Implemented? : %"y", "n"% (%comments%) 153 | 154 | ### Dislike 155 | 156 | Implemented? : %"y", "n"% (%comments%) 157 | 158 | ### Flag 159 | 160 | Implemented? : %"y", "n"% (%comments%) 161 | 162 | ### Follow 163 | 164 | Implemented? : %"y", "n"% (%comments%) 165 | 166 | ### Ignore 167 | 168 | Implemented? : %"y", "n"% (%comments%) 169 | 170 | ### Invite 171 | 172 | Implemented? : %"y", "n"% (%comments%) 173 | 174 | ### Join 175 | 176 | Implemented? : %"y", "n"% (%comments%) 177 | 178 | ### Leave 179 | 180 | Implemented? : %"y", "n"% (%comments%) 181 | 182 | ### Like 183 | 184 | Implemented? : %"y", "n"% (%comments%) 185 | 186 | ### Listen 187 | 188 | Implemented? : %"y", "n"% (%comments%) 189 | 190 | ### Move 191 | 192 | Implemented? : %"y", "n"% (%comments%) 193 | 194 | ### Offer 195 | 196 | Implemented? : %"y", "n"% (%comments%) 197 | 198 | ### Question 199 | 200 | Implemented? : %"y", "n"% (%comments%) 201 | 202 | * oneOf: %"y", "n"% (%comments%) 203 | * anyOf: %"y", "n"% (%comments%) 204 | * closed: %"y", "n"% (%comments%) 205 | 206 | ### Read 207 | 208 | Implemented? : %"y", "n"% (%comments%) 209 | 210 | ### Reject 211 | 212 | Implemented? : %"y", "n"% (%comments%) 213 | 214 | ### Remove 215 | 216 | Implemented? : %"y", "n"% (%comments%) 217 | 218 | ### TentativeAccept 219 | 220 | Implemented? : %"y", "n"% (%comments%) 221 | 222 | ### TentativeReject 223 | 224 | Implemented? : %"y", "n"% (%comments%) 225 | 226 | ### Travel 227 | 228 | Implemented? : %"y", "n"% (%comments%) 229 | 230 | ### Undo 231 | 232 | Implemented? : %"y", "n"% (%comments%) 233 | 234 | ### Update 235 | 236 | Implemented? : %"y", "n"% (%comments%) 237 | 238 | ### View 239 | 240 | Implemented? : %"y", "n"% (%comments%) 241 | 242 | ### Application 243 | 244 | Implemented? : %"y", "n"% (%comments%) 245 | 246 | ### Group 247 | 248 | Implemented? : %"y", "n"% (%comments%) 249 | 250 | ### Organization 251 | 252 | Implemented? : %"y", "n"% (%comments%) 253 | 254 | ### Person 255 | 256 | Implemented? : %"y", "n"% (%comments%) 257 | 258 | ### Service 259 | 260 | Implemented? : %"y", "n"% (%comments%) 261 | 262 | ### Article 263 | 264 | Implemented? : %"y", "n"% (%comments%) 265 | 266 | ### Audio 267 | 268 | Implemented? : %"y", "n"% (%comments%) 269 | 270 | ### Document 271 | 272 | Implemented? : %"y", "n"% (%comments%) 273 | 274 | ### Event 275 | 276 | Implemented? : %"y", "n"% (%comments%) 277 | 278 | ### Image 279 | 280 | Implemented? : %"y", "n"% (%comments%) 281 | 282 | ### Note 283 | 284 | Implemented? : %"y", "n"% (%comments%) 285 | 286 | ### Page 287 | 288 | Implemented? : %"y", "n"% (%comments%) 289 | 290 | ### Place 291 | 292 | Implemented? : %"y", "n"% (%comments%) 293 | 294 | * accuracy: %"y", "n"% (%comments%) 295 | * altitude: %"y", "n"% (%comments%) 296 | * latitude: %"y", "n"% (%comments%) 297 | * longitude: %"y", "n"% (%comments%) 298 | * radius: %"y", "n"% (%comments%) 299 | * units: %"y", "n"% (%comments%) 300 | 301 | ### Profile 302 | 303 | Implemented? : %"y", "n"% (%comments%) 304 | 305 | * describes: %"y", "n"% (%comments%) 306 | 307 | ### Relationship 308 | 309 | Implemented? : %"y", "n"% (%comments%) 310 | 311 | * subject: %"y", "n"% (%comments%) 312 | * object: %"y", "n"% (%comments%) 313 | * relationship: %"y", "n"% (%comments%) 314 | 315 | ### Tombstone 316 | 317 | Implemented? : %"y", "n"% (%comments%) 318 | 319 | * formerType: %"y", "n"% (%comments%) 320 | * deleted: %"y", "n"% (%comments%) 321 | 322 | ### Video 323 | 324 | Implemented? : %"y", "n"% (%comments%) 325 | 326 | ### Mention 327 | 328 | Implemented? : %"y", "n"% (%comments%) 329 | 330 | ## Extensions 331 | 332 | %(If you've used any extensions for your Activity Streams 2.0 implementation, 333 | list them here, with comments.)% 334 | -------------------------------------------------------------------------------- /issue_template.md: -------------------------------------------------------------------------------- 1 | Please Indicate One: 2 | * [ ] Editorial 3 | * [ ] Question 4 | * [ ] Feedback 5 | * [ ] Blocking Issue 6 | * [ ] Non-Blocking Issue 7 | 8 | Please Describe the Issue: 9 | 10 | 11 | -------------------------------------------------------------------------------- /ns/activitystreams1-context.jsonld: -------------------------------------------------------------------------------- 1 | { "@context": [ 2 | "https://www.w3.org/ns/activitystreams.jsonld", 3 | { 4 | "@vocab": "_:", 5 | "id": "@id", 6 | "objectType": "@type", 7 | "verb": "@type", 8 | "displayName": "as:name", 9 | "attachments": "as:attachment", 10 | "tags": "as:tag", 11 | "author": "as:attributedTo" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /ns/gen.php: -------------------------------------------------------------------------------- 1 | $data){ 5 | ?> 6 |
  • ".$data["@type"].")" : ""?>
  • 7 | -------------------------------------------------------------------------------- /ns/readme.md: -------------------------------------------------------------------------------- 1 | # ActivityStreams 2.0 Terms 2 | 3 | This repo contains namespace documents for ActivityStreams 2.0, a specification of the [W3C Social Web WG](https://w3.org/wiki/Socialwg). 4 | 5 | * [ActivityStreams 2.0 Core](https://www.w3.org/TR/activitystreams-core) (CR) 6 | * [ActivityStreams 2.0 Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary) (CR) 7 | 8 | ## Extensions 9 | 10 | Terms for extensions which are considered stable are also to be added to this namespace. How to do this will be announced in due course. 11 | 12 | ## Generating the HTML 13 | 14 | The file `gen.php` reads directly from the JSON-LD context (`https://www.w3.org/ns/activitystreams.jsonld`) and prints all of the terms in the following format: 15 | 16 | ``` 17 |
  • {{term}} ({{datatype}})
  • 18 | ``` 19 | 20 | This can be copypasted into `respec.html`, but needs to be organised by hand, ie: 21 | 22 | * Divide terms into the relevant sections (Classes, Properties, Extensions) 23 | * Check the generated fragments are correct 24 | * Update the URLs for extension terms which are not in the AS2 spec 25 | * Reorder if desired 26 | 27 | `respec.html` is the ReSpec version of the document, which generates the metadata, status, editor, last updated date, etc. Update this first, and then open it in a browser and "Save Snapshop" to create the static HTML `index.html`. -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /test/LICENSE.md: -------------------------------------------------------------------------------- 1 | This work is being provided by the copyright holders under the following 2 | license. 3 | 4 | License 5 | ------- 6 | 7 | By obtaining and/or copying this work, you (the licensee) agree that you have 8 | read, understood, and will comply with the following terms and conditions. 9 | 10 | Permission to copy, modify, and distribute this work, with or without 11 | modification, for any purpose and without fee or royalty is hereby granted, 12 | provided that you include the following on ALL copies of the work or portions 13 | thereof, including modifications: 14 | 15 | * The full text of this NOTICE in a location viewable to users of the 16 | redistributed or derivative work. 17 | 18 | * Any pre-existing intellectual property disclaimers, notices, or terms and 19 | conditions. If none exist, the W3C Software and Document Short Notice should 20 | be included. 21 | 22 | * Notice of any changes or modifications, through a copyright statement on the 23 | new code or document such as "This software or document includes material 24 | copied from or derived from [title and URI of the W3C document]. 25 | Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." 26 | 27 | Disclaimers 28 | ----------- 29 | 30 | THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR 31 | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF 32 | MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE 33 | SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, 34 | TRADEMARKS OR OTHER RIGHTS. 35 | 36 | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR 37 | CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. 38 | 39 | The name and trademarks of copyright holders may NOT be used in advertising or 40 | publicity pertaining to the work without specific, written prior permission. 41 | Title to copyright in this work will at all times remain with copyright holders. 42 | -------------------------------------------------------------------------------- /test/README.md: -------------------------------------------------------------------------------- 1 | activitystreams-test-documents 2 | ============================== 3 | 4 | This is a collection of documents for testing Activity Streams 2.0 parsers. 5 | 6 | License 7 | ------- 8 | 9 | Copyright © 2014-2016 World Wide Web Consortium, (Massachusetts Institute of 10 | Technology, European Research Consortium for Informatics and Mathematics, Keio 11 | University, Beihang). All Rights Reserved. This work is distributed under the 12 | [W3C® Software License](http://www.w3.org/Consortium/Legal/copyright-software) 13 | in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 14 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | Sources 17 | ------- 18 | 19 | The documents come from the following sources: 20 | 21 | * [Activity Streams 2.0 Core](https://www.w3.org/TR/activitystreams-core/) 22 | * [Activity Streams 2.0 Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary/) 23 | * [Activity Streams 2.0 Test Corpus](https://github.com/jasnell/as2corpus) 24 | 25 | The documents in `fail` are documents that are known bad. 26 | 27 | Validator 28 | --------- 29 | 30 | A validator for Activity Streams data is available online at [as2.rocks](https://as2.rocks/). Source code for the validator 31 | is at https://github.com/w3c-social/activitystreams-validator . 32 | -------------------------------------------------------------------------------- /test/bin/extract-as2-examples.js: -------------------------------------------------------------------------------- 1 | // extract-as2-examples.js 2 | 3 | // Extract examples from the AS2 core and vocabulary documents and write them 4 | // out as .json files. 5 | 6 | // extract-as2-examples.js: https://github.com/w3c-social/activitystreams-test-documents 7 | 8 | // Copyright © 2016 World Wide Web Consortium, (Massachusetts Institute of 9 | // Technology, European Research Consortium for Informatics and Mathematics, 10 | // Keio University, Beihang). All Rights Reserved. This work is distributed 11 | // under the W3C® Software License [1] in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | // [1] http://www.w3.org/Consortium/Legal/copyright-software 16 | 17 | var fs = require("fs"); 18 | var path = require("path"); 19 | 20 | var htmlparser = require("htmlparser2"); 21 | 22 | var filename = process.argv[2]; 23 | var basename = process.argv[3]; 24 | 25 | var contents = fs.readFileSync(filename, 'utf8'); 26 | 27 | var handler = new htmlparser.DomHandler(function (err, dom) { 28 | 29 | if (err) { 30 | console.error(err); 31 | } else { 32 | htmlparser.DomUtils.findAll(function(elem) { 33 | var id; 34 | var contents; 35 | if (htmlparser.DomUtils.isTag(elem) && elem.name == "div") { 36 | id = htmlparser.DomUtils.getAttributeValue(elem, "id"); 37 | if (id && id.match(/ex\w+-jsonld/)) { 38 | contents = htmlparser.DomUtils.getText(elem); 39 | fs.writeFile(path.join("..", basename+"-"+id+".json"), contents, function(err) { 40 | if (err) { 41 | console.error(err); 42 | } 43 | }); 44 | } 45 | } 46 | }, dom); 47 | } 48 | }); 49 | 50 | var parser = new htmlparser.Parser(handler); 51 | parser.write(contents); 52 | parser.done(); 53 | -------------------------------------------------------------------------------- /test/bin/tlhasname.coffee: -------------------------------------------------------------------------------- 1 | # tlhasname.coffee 2 | 3 | # Check if the top-level object of a document has a name or nameMap property. 4 | 5 | # Copyright © 2016 World Wide Web Consortium, (Massachusetts Institute of 6 | # Technology, European Research Consortium for Informatics and Mathematics, 7 | # Keio University, Beihang). All Rights Reserved. This work is distributed 8 | # under the W3C® Software License [1] in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 | 12 | # [1] http:#www.w3.org/Consortium/Legal/copyright-software 13 | 14 | fs = require 'fs' 15 | 16 | filename = process.argv[2] 17 | 18 | contents = fs.readFileSync filename, 'utf8' 19 | 20 | obj = JSON.parse contents 21 | 22 | if obj.name? or obj.nameMap? 23 | console.log "#{filename} YES" 24 | else 25 | console.log "#{filename} NO" 26 | -------------------------------------------------------------------------------- /test/core-ex1-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Martin created an image", 5 | "type": "Create", 6 | "actor": "http://www.test.example/martin", 7 | "object": "http://example.org/foo.jpg" 8 | } 9 | -------------------------------------------------------------------------------- /test/core-ex11b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | 3 | { 4 | "@context": "https://www.w3.org/ns/activitystreams", 5 | "type": "Object", 6 | "nameMap": { 7 | "und": "This is the title" 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /test/core-ex11c-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": [ 4 | "https://www.w3.org/ns/activitystreams", 5 | { 6 | "@language": "en" 7 | }], 8 | "type": "Object", 9 | "name": "This is the title" 10 | } 11 | -------------------------------------------------------------------------------- /test/core-ex11e-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "id": "http://example.org/note/123", 6 | "name": "Our Weather Is Fine", 7 | "content": "I feel that the weather is appropriate to our season and location." 8 | } 9 | -------------------------------------------------------------------------------- /test/core-ex11f-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "id": "http://example.org/note/124", 6 | "summary": "A note by Sally", 7 | "content": "Everything is OK here." 8 | } 9 | -------------------------------------------------------------------------------- /test/core-ex12-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Application", 5 | "id": "http://example.org/application/123", 6 | "name": "My Application", 7 | "image": "http://example.org/application/123.png" 8 | } 9 | -------------------------------------------------------------------------------- /test/core-ex13-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Application", 5 | "id": "http://example.org/application/123", 6 | "name": "My Application", 7 | "image": { 8 | "type": "Link", 9 | "href": "http://example.org/application/123.png", 10 | "mediaType": "image/png" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/core-ex14-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Application", 5 | "id": "http://example.org/application/123", 6 | "name": "My Application", 7 | "image": [ 8 | "http://example.org/application/abc.gif", 9 | { 10 | "type": "Link", 11 | "href": "http://example.org/application/123.png", 12 | "mediaType": "image/png" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /test/core-ex15-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Application", 5 | "id": "http://example.org/application/123", 6 | "name": "My Application", 7 | "image": [ 8 | "http://example.org/application/abc.gif", 9 | { 10 | "type": "Link", 11 | "href": "http://example.org/application/123.png", 12 | "mediaType": "image/png", 13 | "rel": "thumbnail" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/core-ex17-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": [ 4 | "https://www.w3.org/ns/activitystreams", 5 | {"vcard": "http://www.w3.org/2006/vcard/ns#"} 6 | ], 7 | "summary": "Sally created a note", 8 | "type": "Create", 9 | "actor": { 10 | "type": ["Person", "vcard:Individual"], 11 | "id": "http://sally.example.org", 12 | "name": "Sally Smith", 13 | "vcard:given-name": "Sally", 14 | "vcard:family-name": "Smith" 15 | }, 16 | "object": { 17 | "type": "Note", 18 | "content": "This is a simple note" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/core-ex19-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Joe liked a note", 5 | "type": "Like", 6 | "id": "http://www.test.example/activity/1", 7 | "actor": "http://example.org/profiles/joe", 8 | "object": "http://example.com/notes/1", 9 | "published": "2014-09-30T12:34:56Z" 10 | } 11 | 12 | -------------------------------------------------------------------------------- /test/core-ex2-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Martin added an article to his blog", 5 | "type": "Add", 6 | "published": "2015-02-10T15:04:55Z", 7 | "actor": { 8 | "type": "Person", 9 | "id": "http://www.test.example/martin", 10 | "name": "Martin Smith", 11 | "url": "http://example.org/martin", 12 | "image": { 13 | "type": "Link", 14 | "href": "http://example.org/martin/image.jpg", 15 | "mediaType": "image/jpeg" 16 | } 17 | }, 18 | "object" : { 19 | "id": "http://www.test.example/blog/abc123/xyz", 20 | "type": "Article", 21 | "url": "http://example.org/blog/2011/02/entry", 22 | "name": "Why I love Activity Streams" 23 | }, 24 | "target" : { 25 | "id": "http://example.org/blog/", 26 | "type": "OrderedCollection", 27 | "name": "Martin's Blog" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /test/core-ex20-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Joe liked a note", 5 | "type": ["Like", "http://schema.org/LikeAction"], 6 | "id": "http://www.test.example/activity/1", 7 | "actor": "http://example.org/profiles/joe", 8 | "object": "http://example.com/notes/1", 9 | "published": "2014-09-30T12:34:56Z" 10 | } 11 | -------------------------------------------------------------------------------- /test/core-ex21-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Object history", 5 | "type": "Collection", 6 | "totalItems": 2, 7 | "items": [ 8 | { 9 | "type": "Create", 10 | "actor": "http://www.test.example/sally", 11 | "object": "http://example.org/foo" 12 | }, 13 | { 14 | "type": "Like", 15 | "actor": "http://www.test.example/joe", 16 | "object": "http://example.org/foo" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /test/core-ex21b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's recent activities", 5 | "type": "Collection", 6 | "id": "http://example.org/foo", 7 | "totalItems": 10, 8 | "first": { 9 | "type": "CollectionPage", 10 | "id": "http://example.org/foo?page=1", 11 | "partOf": "http://example.org/foo", 12 | "next": "http://example.org/foo?page=2", 13 | "items": [ 14 | { 15 | "type": "Create", 16 | "actor": "http://www.test.example/sally", 17 | "object": "http://example.org/foo" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/core-ex22-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | 3 | { 4 | "@context": "https://www.w3.org/ns/activitystreams", 5 | "summary": "Object history", 6 | "type": "OrderedCollection", 7 | "totalItems": 2, 8 | "orderedItems": [ 9 | { 10 | "type": "Create", 11 | "actor": "http://www.test.example/sally", 12 | "object": "http://example.org/foo" 13 | }, 14 | { 15 | "type": "Like", 16 | "actor": "http://www.test.example/joe", 17 | "object": "http://example.org/foo" 18 | } 19 | ] 20 | } 21 | 22 | -------------------------------------------------------------------------------- /test/core-ex23-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "Fresno, California", 5 | "type": "Place", 6 | "latitude": 36.74, 7 | "longitude": -119.77 8 | } 9 | -------------------------------------------------------------------------------- /test/core-ex24-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": [ 4 | "https://www.w3.org/ns/activitystreams", 5 | {"gsp": "http://www.opengis.net/ont/geosparql"} 6 | ], 7 | "summary": "A polygon", 8 | "type": "gsp:Geometry", 9 | "gsp:asWKT": "Polygon((100.0, 0.0, 101.0, 0.0, 101.0, 1.0, 100.0, 1.0, 100.0, 0.0))" 10 | } 11 | -------------------------------------------------------------------------------- /test/core-ex27-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": [ 4 | "https://www.w3.org/ns/activitystreams", 5 | { 6 | "oa": "http://www.w3.org/ns/oa#", 7 | "prov": "http://www.w3.org/ns/prov#", 8 | "oa:created": { 9 | "@id": "oa:created", 10 | "@type": "xsd:dateTime" 11 | } 12 | } 13 | ], 14 | "summary": "Editing history of a note", 15 | "type": "Collection", 16 | "items": [ 17 | { 18 | "id": "http://example.org/activity/20150101000000", 19 | "type": [ "Create", "prov:Activity" ], 20 | "actor": { 21 | "id": "http://example.org/#eric", 22 | "name": "Eric" 23 | }, 24 | "summary": "Eric wrote a note.", 25 | "object": { 26 | "id": "http://example.org/entry/20150101000000", 27 | "type": [ "Note", "prov:Entity" ], 28 | "attributedTo": "http://example.org/#eric", 29 | "content": "Remember... all I'm offering is the trooth. Nothing more." 30 | }, 31 | "published": "2015-01-01T00:00:00Z" 32 | }, 33 | { 34 | "id": "http://example.org/activity/20150101000059", 35 | "type": [ "Update", "prov:Activity", "oa:Annotate" ], 36 | "summary": "Eric edited a note.", 37 | "oa:created": "2015-01-01T00:00:59Z", 38 | "oa:creator": "http://example.org/#eric", 39 | "oa:hasBody": { 40 | "id": "http://example.org/entry/20150101000059", 41 | "type": [ "Note", "prov:Entity" ], 42 | "content": "Remember... all I'm offering is the truth. Nothing more.", 43 | "prov:wasAttributedTo": "http://example.org/#eric", 44 | "prov:wasRevisionOf": "http://example.org/entry/20150101000000" 45 | }, 46 | "oa:hasTarget": "http://example.org/entry/20150101000000", 47 | "oa:motivatedBy": "oa:editing", 48 | "prov:generated": "http://example.org/entry/20150101000059", 49 | "prov:wasInformedBy": "http://example.org/activity/20150101000000" 50 | }, 51 | { 52 | "id": "http://example.org/activity/20150101010101", 53 | "type": [ "Delete", "prov:Activity" ], 54 | "actor": "http://example.org/#eric", 55 | "summary": "Eric deleted a note.", 56 | "object": "http://example.org/entry/20150101000059", 57 | "published": "2015-01-01T01:01:01Z" 58 | } 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /test/core-ex3-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Martin's recent activities", 5 | "type": "Collection", 6 | "totalItems": 1, 7 | "items" : [ 8 | { 9 | "type": "Add", 10 | "published": "2011-02-10T15:04:55Z", 11 | "generator": "http://example.org/activities-app", 12 | "nameMap": { 13 | "en": "Martin added a new image to his album.", 14 | "ga": "Martin phost le fisean nua a albam." 15 | }, 16 | "actor": { 17 | "type": "Person", 18 | "id": "http://www.test.example/martin", 19 | "name": "Martin Smith", 20 | "url": "http://example.org/martin", 21 | "image": { 22 | "type": "Link", 23 | "href": "http://example.org/martin/image", 24 | "mediaType": "image/jpeg", 25 | "width": 250, 26 | "height": 250 27 | } 28 | }, 29 | "object" : { 30 | "name": "My fluffy cat", 31 | "type": "Image", 32 | "id": "http://example.org/album/máiréad.jpg", 33 | "preview": { 34 | "type": "Link", 35 | "href": "http://example.org/album/máiréad.jpg", 36 | "mediaType": "image/jpeg" 37 | }, 38 | "url": [ 39 | { 40 | "type": "Link", 41 | "href": "http://example.org/album/máiréad.jpg", 42 | "mediaType": "image/jpeg" 43 | }, 44 | { 45 | "type": "Link", 46 | "href": "http://example.org/album/máiréad.png", 47 | "mediaType": "image/png" 48 | } 49 | ] 50 | }, 51 | "target": { 52 | "type": "Collection", 53 | "id": "http://example.org/album/", 54 | "nameMap": { 55 | "en": "Martin's Photo Album", 56 | "ga": "Grianghraif Mairtin" 57 | }, 58 | "image": { 59 | "type": "Link", 60 | "href": "http://example.org/album/thumbnail.jpg", 61 | "mediaType": "image/jpeg" 62 | } 63 | } 64 | } 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /test/core-ex4-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "id": "http://example.org/foo", 5 | "type": "Note", 6 | "name": "This is a note", 7 | "attributedTo": { 8 | "id": "http://joe.website.example/", 9 | "type": "Person", 10 | "name": "Joe Smith" 11 | }, 12 | "published": "2014-08-21T12:34:56Z" 13 | } 14 | -------------------------------------------------------------------------------- /test/core-ex6-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": [ 4 | "https://www.w3.org/ns/activitystreams", 5 | { 6 | "gr": "http://purl.org/goodrelations/v1#" 7 | } 8 | ], 9 | "type": ["Place", "gr:Location"], 10 | "name": "Sally's Restaurant", 11 | "longitude": 12.34, 12 | "latitude": 56.78, 13 | "gr:category": "restaurants/french_restaurants" 14 | } 15 | -------------------------------------------------------------------------------- /test/core-ex7-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Object", 5 | "name": "This is the title" 6 | } 7 | -------------------------------------------------------------------------------- /test/core-ex8-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Object", 5 | "nameMap": { 6 | "en": "This is the title", 7 | "fr": "C'est le titre", 8 | "es": "Este es el título" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/empty.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/fail/array-at-top.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@context": "http://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "id": "http://www.test.example/notes/1", 7 | "content": "Now is the time for all good people" 8 | }, 9 | { 10 | "@context": "http://www.w3.org/ns/activitystreams", 11 | "name": "A simple note", 12 | "type": "Note", 13 | "id": "http://www.test.example/notes/2", 14 | "content": "Lorem ipsum" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /test/fail/bad-character-set.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/activitystreams/e707026f428445bcabb7da4bc389c25a862204e6/test/fail/bad-character-set.json -------------------------------------------------------------------------------- /test/fail/collection-with-non-page-first.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Sally's recent activities", 4 | "type": "Collection", 5 | "id": "http://example.org/foo", 6 | "totalItems": 10, 7 | "first": { 8 | "type": "Create", 9 | "actor": "http://www.test.example/sally", 10 | "object": "http://example.org/foo" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/fail/content-map-with-invalid-language-tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "type": "Note", 4 | "name": "The forbidden note", 5 | "id": "http://example.com/note/1", 6 | "contentMap": { 7 | "de-419-DE": "This language tag is invalid per RFC 5646." 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/fail/name-as-namemap.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "type": "Object", 4 | "nameMap": "This is the title" 5 | } 6 | -------------------------------------------------------------------------------- /test/fail/namemap-as-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "type": "Object", 4 | "name": { 5 | "en": "This is the title", 6 | "fr": "C'est le titre", 7 | "sp": "Este es el titulo" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/fail/number-as-actor.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Sally offered the Foo object", 4 | "type": "Offer", 5 | "actor": 90, 6 | "object": "http://example.org/foo" 7 | } 8 | -------------------------------------------------------------------------------- /test/fail/number-as-content.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "A simple note", 4 | "type": "Note", 5 | "id": "http://example.com/note/1", 6 | "content": 42 7 | } 8 | -------------------------------------------------------------------------------- /test/fail/number-as-context.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": 3 3 | } 4 | -------------------------------------------------------------------------------- /test/fail/number-as-id.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "A simple note", 4 | "type": "Note", 5 | "id": 4 6 | } 7 | -------------------------------------------------------------------------------- /test/fail/number-as-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": 1, 4 | "type": "Note", 5 | "id": "http://example.com/note/1" 6 | } 7 | -------------------------------------------------------------------------------- /test/fail/number-as-object.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Sally offered the Foo object", 4 | "type": "Offer", 5 | "actor": "http://example.org/person/sally", 6 | "object": 23 7 | } 8 | -------------------------------------------------------------------------------- /test/fail/number-as-type.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "A simple note", 4 | "type": 16, 5 | "id": "http://example.com/16/1" 6 | } 7 | -------------------------------------------------------------------------------- /test/fail/number-at-top.json: -------------------------------------------------------------------------------- 1 | 42 2 | -------------------------------------------------------------------------------- /test/fail/ordered-collection-with-items.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Object history", 4 | "type": "OrderedCollection", 5 | "totalItems": 2, 6 | "items": [ 7 | { 8 | "type": "Create", 9 | "actor": "http://www.test.example/sally", 10 | "object": "http://example.org/foo" 11 | }, 12 | { 13 | "type": "Like", 14 | "actor": "http://www.test.example/joe", 15 | "object": "http://example.org/foo" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/fail/ordered-collection-with-non-page-first.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Sally's recent activities", 4 | "type": "OrderedCollection", 5 | "id": "http://example.org/foo", 6 | "totalItems": 10, 7 | "first": { 8 | "type": "Offer", 9 | "actor": "http://www.test.example/sally", 10 | "object": "http://example.org/foo" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/fail/other-context.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://schema.org", 3 | "@type": "Person", 4 | "name": "Fakename Q. Madeup", 5 | "follows": { 6 | "@type": "Person", 7 | "name": "Ersatz W. Alias" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/fail/relative-uri-for-url.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Sally's avatar", 4 | "type": "Image", 5 | "id": "http://example.com/images/1", 6 | "url": "images/sally.jpg" 7 | } 8 | -------------------------------------------------------------------------------- /test/fail/string-at-top.json: -------------------------------------------------------------------------------- 1 | "Now is the time for all good people" 2 | -------------------------------------------------------------------------------- /test/fail/unordered-collection-with-ordered-items.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "name": "Object history", 4 | "type": "Collection", 5 | "totalItems": 2, 6 | "orderedItems": [ 7 | { 8 | "type": "Create", 9 | "actor": "http://www.test.example/sally", 10 | "object": "http://example.org/foo" 11 | }, 12 | { 13 | "type": "Like", 14 | "actor": "http://www.test.example/joe", 15 | "object": "http://example.org/foo" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "activitystreams-test-documents", 3 | "version": "0.0.0", 4 | "description": "Collection of documents for testing activity streams parsers", 5 | "main": "index.js", 6 | "bin": { 7 | "activitystreams-test-documents": "extract-as2-examples.js" 8 | }, 9 | "scripts": { 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/w3c-social/activitystreams-test-documents.git" 15 | }, 16 | "keywords": [ 17 | "activitystreams", 18 | "as2" 19 | ], 20 | "author": "", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/w3c-social/activitystreams-test-documents/issues" 24 | }, 25 | "homepage": "https://github.com/w3c-social/activitystreams-test-documents#readme", 26 | "devDependencies": { 27 | "htmlparser2": "^3.9.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /test/simple0001.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/simple0002.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams" 3 | } 4 | -------------------------------------------------------------------------------- /test/simple0003.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "http://example.org/foo" 3 | } 4 | -------------------------------------------------------------------------------- /test/simple0004.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo" 4 | } 5 | -------------------------------------------------------------------------------- /test/simple0005.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": ["http://www.w3.org/ns/activitystreams"] 3 | } 4 | -------------------------------------------------------------------------------- /test/simple0006.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": [{},"http://www.w3.org/ns/activitystreams"] 3 | } 4 | -------------------------------------------------------------------------------- /test/simple0007.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": ["http://www.w3.org/ns/activitystreams", {}] 3 | } 4 | -------------------------------------------------------------------------------- /test/simple0008.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo", 4 | "type": "Note" 5 | } 6 | -------------------------------------------------------------------------------- /test/simple0009.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo", 4 | "type": ["Note","Event"] 5 | } 6 | -------------------------------------------------------------------------------- /test/simple0010.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo", 4 | "type": "Note", 5 | "name": "Plain < Text & Name" 6 | } 7 | -------------------------------------------------------------------------------- /test/simple0011.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo", 4 | "type": "Note", 5 | "name": { 6 | "en": "Plain < Text & Name" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/simple0012.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "id": "http://example.org/foo", 4 | "type": "Note", 5 | "name": { 6 | "en": "Plain < Text & Name", 7 | "fr": "French Translation of the Plain < Test & Name" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/simple0013.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "id": "http://example.org/some/id", 4 | "type": "Note", 5 | "content": "This is a simple note", 6 | "updated": "2015-12-12T12:34:56Z" 7 | } 8 | -------------------------------------------------------------------------------- /test/simple0014.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "id": "http://example.org/some/id", 4 | "type": "Note", 5 | "content": "This is a simple note with markup", 6 | "updated": "2015-12-12T12:34:56Z" 7 | } 8 | -------------------------------------------------------------------------------- /test/simple0015.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "id": "http://example.org/some/id", 4 | "type": "Note", 5 | "mediaType": "text/markdown", 6 | "content": "*This is a simple note with markdown*", 7 | "updated": "2015-12-12T12:34:56Z" 8 | } 9 | -------------------------------------------------------------------------------- /test/simple0016.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": "http://example.org/sally", 5 | "object": "http://example.org/notes/1" 6 | } 7 | -------------------------------------------------------------------------------- /test/simple0017.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": "http://example.org/notes/1" 10 | } 11 | -------------------------------------------------------------------------------- /test/simple0018.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "id": "http://example.org/notes/1", 11 | "type": "Note", 12 | "content": "This is a note" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/simple0019.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "id": "http://example.org/notes/1", 11 | "type": "Note", 12 | "content": "This is a note", 13 | "url": "http://example.org/notes/1" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/simple0020.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "id": "http://example.org/notes/1", 11 | "type": "Note", 12 | "content": "This is a note", 13 | "url": { 14 | "type": "Link", 15 | "href": "http://example.org/notes/1", 16 | "mediaType": "text/html" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/simple0021.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "id": "http://example.org/notes/1", 11 | "type": "Note", 12 | "content": "This is a note", 13 | "url": [{ 14 | "type": "Link", 15 | "href": "http://example.org/notes/1", 16 | "mediaType": "text/html" 17 | }] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/simple0022.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Like", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "id": "http://example.org/notes/1", 11 | "type": "Note", 12 | "content": "This is a note", 13 | "url": [ 14 | { 15 | "type": "Link", 16 | "href": "http://example.org/notes/1", 17 | "hreflang": "en", 18 | "mediaType": "text/html" 19 | }, 20 | { 21 | "type": "Link", 22 | "href": "http://example.org/notes/es/1", 23 | "hreflang": "es", 24 | "mediaType": "text/html" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/simple0023.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams#", 3 | "type": "Undo", 4 | "actor": { 5 | "type": "Person", 6 | "id": "http://example.org/sally", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "type": "Like", 11 | "actor": { 12 | "type": "Person", 13 | "id": "http://example.org/sally", 14 | "name": "Sally" 15 | }, 16 | "object": { 17 | "id": "http://example.org/notes/1", 18 | "type": "Note", 19 | "content": "This is a note", 20 | "url": [{ 21 | "type": "Link", 22 | "href": "http://example.org/notes/1", 23 | "mediaType": "text/html" 24 | }] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/simple0024.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "updated": "2015-12-12T12:34Z" 4 | } 5 | -------------------------------------------------------------------------------- /test/simple0025.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "http://www.w3.org/ns/activitystreams", 3 | "published": "2015-12-12T12:34Z" 4 | } 5 | -------------------------------------------------------------------------------- /test/vocabulary-ex1-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Object", 5 | "id": "http://www.test.example/object/1", 6 | "name": "A Simple, non-specific object" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex10-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally added a picture of her cat to her cat picture collection", 5 | "type": "Add", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Image", 12 | "name": "A picture of my cat", 13 | "url": "http://example.org/img/cat.png" 14 | }, 15 | "origin": { 16 | "type": "Collection", 17 | "name": "Camera Roll" 18 | }, 19 | "target": { 20 | "type": "Collection", 21 | "name": "My Cat Pictures" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/vocabulary-ex100-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally liked a note", 5 | "type": "Like", 6 | "actor": "http://sally.example.org", 7 | "object": [ 8 | "http://example.org/posts/1", 9 | { 10 | "type": "Note", 11 | "name": "A simple note", 12 | "content": "A simple note" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex101-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally listened to a piece of music on the Acme Music Service", 5 | "type": "Listen", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/foo.mp3", 11 | "instrument": { 12 | "type": "Service", 13 | "name": "Acme Music Service" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex104-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's blog posts", 5 | "type": "CollectionPage", 6 | "prev": "http://example.org/collection?page=1", 7 | "items": [ 8 | "http://example.org/posts/1", 9 | "http://example.org/posts/2", 10 | "http://example.org/posts/3" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex105-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's blog posts", 5 | "type": "CollectionPage", 6 | "prev": { 7 | "type": "Link", 8 | "name": "Previous Page", 9 | "href": "http://example.org/collection?page=1" 10 | }, 11 | "items": [ 12 | "http://example.org/posts/1", 13 | "http://example.org/posts/2", 14 | "http://example.org/posts/3" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex106-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Video", 5 | "name": "Cool New Movie", 6 | "duration": "PT2H30M", 7 | "preview": { 8 | "type": "Video", 9 | "name": "Trailer", 10 | "duration": "PT1M", 11 | "url": { 12 | "href": "http://example.org/trailer.mkv", 13 | "mediaType": "video/mkv" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex108-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally checked that her flight was on time", 5 | "type": ["Activity", "http://www.verbs.example/Check"], 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/flights/1", 8 | "result": { 9 | "type": "http://www.types.example/flightstatus", 10 | "name": "On Time" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex11-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally arrived at work", 5 | "type": "Arrive", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "location": { 11 | "type": "Place", 12 | "name": "Work" 13 | }, 14 | "origin": { 15 | "type": "Place", 16 | "name": "Home" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex112-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "id": "http://www.test.example/notes/1", 7 | "content": "A simple note", 8 | "replies": { 9 | "type": "Collection", 10 | "totalItems": 1, 11 | "items": [ 12 | { 13 | "name": "A response to the note", 14 | "type": "Note", 15 | "content": "A response to the note", 16 | "inReplyTo": "http://www.test.example/notes/1" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/vocabulary-ex113-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "audience": { 8 | "type": "http://example.org/Organization", 9 | "name": "My Organization" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex118-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Image", 5 | "name": "Picture of Sally", 6 | "url": "http://example.org/sally.jpg", 7 | "tag": [ 8 | { 9 | "type": "Person", 10 | "id": "http://sally.example.org", 11 | "name": "Sally" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex12-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally created a note", 5 | "type": "Create", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Note", 12 | "name": "A Simple Note", 13 | "content": "This is a simple note" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex120-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered the post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": "http://john.example.org" 9 | } 10 | -------------------------------------------------------------------------------- /test/vocabulary-ex121-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered the post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": { 9 | "type": "Person", 10 | "name": "John" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex123-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered the post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": "http://john.example.org", 9 | "to": [ "http://joe.example.org" ] 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex124-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Document", 5 | "name": "4Q Sales Forecast", 6 | "url": "http://example.org/4q-sales-forecast.pdf" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex125-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Document", 5 | "name": "4Q Sales Forecast", 6 | "url": { 7 | "type": "Link", 8 | "href": "http://example.org/4q-sales-forecast.pdf" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex126-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Document", 5 | "name": "4Q Sales Forecast", 6 | "url": [ 7 | { 8 | "type": "Link", 9 | "href": "http://example.org/4q-sales-forecast.pdf", 10 | "mediaType": "application/pdf" 11 | }, 12 | { 13 | "type": "Link", 14 | "href": "http://example.org/4q-sales-forecast.html", 15 | "mediaType": "text/html" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex127-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "Liu Gu Lu Cun, Pingdu, Qingdao, Shandong, China", 5 | "type": "Place", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "accuracy": 94.5 9 | } 10 | -------------------------------------------------------------------------------- /test/vocabulary-ex129-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "altitude": 15.0, 7 | "latitude": 36.75, 8 | "longitude": 119.7667, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex13-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally deleted a note", 5 | "type": "Delete", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/notes/1", 11 | "origin": { 12 | "type": "Collection", 13 | "name": "Sally's Notes" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex130-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A <em>simple</em> note" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex130b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "mediaType": "text/markdown", 7 | "content": "## A simple note\nA simple markdown `note`" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex131-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "contentMap": { 7 | "en": "A <em>simple</em> note", 8 | "es": "Una nota <em>sencilla</em>", 9 | "zh-Hans": "一段<em>简单的</em>笔记" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex132-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "name": "A simple note" 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex133-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "nameMap": { 6 | "en": "A simple note", 7 | "es": "Una nota sencilla", 8 | "zh-Hans": "一段简单的笔记" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex134-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Video", 5 | "name": "A Simple Video", 6 | "url": "http://example.org/video.mkv", 7 | "duration": "PT2H" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex136-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/image.png", 6 | "height": 100, 7 | "width": 100 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex137-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/abc", 6 | "mediaType": "text/html", 7 | "name": "An example link" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex138-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/abc", 6 | "hreflang": "en", 7 | "mediaType": "text/html", 8 | "name": "An example link" 9 | } 10 | -------------------------------------------------------------------------------- /test/vocabulary-ex139-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's notes", 5 | "type": "CollectionPage", 6 | "id": "http://example.org/collection?page=1", 7 | "partOf": "http://example.org/collection", 8 | "items": [ 9 | { 10 | "type": "Note", 11 | "name": "A Simple Note" 12 | }, 13 | { 14 | "type": "Note", 15 | "name": "Another Simple Note" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex140-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "radius": 15, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex141-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "radius": 15, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex142-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/abc", 6 | "hreflang": "en", 7 | "mediaType": "text/html", 8 | "name": "An example link" 9 | } 10 | -------------------------------------------------------------------------------- /test/vocabulary-ex144-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Event", 5 | "name": "A Party!", 6 | "startTime": "2014-12-31T23:00:00-08:00", 7 | "endTime": "2015-01-01T06:00:00-08:00" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex145-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "published": "2014-12-12T12:12:12Z" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex146-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Event", 5 | "name": "A Party!", 6 | "startTime": "2014-12-31T23:00:00-08:00", 7 | "endTime": "2015-01-01T06:00:00-08:00" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex147-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "radius": 15, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex149-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/abc", 6 | "hreflang": "en", 7 | "mediaType": "text/html", 8 | "name": "An example link", 9 | "rel": ["canonical", "preview"] 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex15-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally followed John", 5 | "type": "Follow", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Person", 12 | "name": "John" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex150-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's notes", 5 | "type": "OrderedCollectionPage", 6 | "startIndex": 0, 7 | "orderedItems": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex152-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "summary": "A simple <em>note</em>" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex153-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "summaryMap": { 7 | "en": "A simple <em>note</em>", 8 | "es": "Una <em>nota</em> sencilla", 9 | "zh-Hans": "一段<em>简单的</em>笔记" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex156-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's notes", 5 | "type": "Collection", 6 | "totalItems": 2, 7 | "items": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex157-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "radius": 15, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex158-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "updated": "2014-12-12T12:12:12Z" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex159-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/image.png", 6 | "height": 100, 7 | "width": 100 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex16-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally ignored a note", 5 | "type": "Ignore", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/notes/1" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex161-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally read an article", 5 | "type": "View", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Article", 12 | "name": "What You Should Know About Activity Streams" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex163-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally listened to a piece of music", 5 | "type": "Listen", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/music.mp3" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex164-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally read a blog post", 5 | "type": "Read", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/posts/1" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex166-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally moved a post from List A to List B", 5 | "type": "Move", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": { 9 | "type": "Collection", 10 | "name": "List B" 11 | }, 12 | "origin": { 13 | "type": "Collection", 14 | "name": "List A" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex168-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally moved a post from List A to List B", 5 | "type": "Move", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/posts/1", 11 | "target": { 12 | "type": "Collection", 13 | "name": "List B" 14 | }, 15 | "origin": { 16 | "type": "Collection", 17 | "name": "List A" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/vocabulary-ex169-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally went home from work", 5 | "type": "Travel", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "target": { 11 | "type": "Place", 12 | "name": "Home" 13 | }, 14 | "origin": { 15 | "type": "Place", 16 | "name": "Work" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex17-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally joined a group", 5 | "type": "Join", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Group", 12 | "name": "A Simple Group" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex170-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally announced that she had arrived at work", 5 | "type": "Announce", 6 | "actor": { 7 | "type": "Person", 8 | "id": "http://sally.example.org", 9 | "name": "Sally" 10 | }, 11 | "object": { 12 | "type": "Arrive", 13 | "actor": "http://sally.example.org", 14 | "location": { 15 | "type": "Place", 16 | "name": "Work" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/vocabulary-ex171-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Activities in context 1", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "type": "Offer", 9 | "actor": "http://sally.example.org", 10 | "object": "http://example.org/posts/1", 11 | "target": "http://john.example.org", 12 | "context": "http://example.org/contexts/1" 13 | }, 14 | { 15 | "type": "Like", 16 | "actor": "http://joe.example.org", 17 | "object": "http://example.org/posts/2", 18 | "context": "http://example.org/contexts/1" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /test/vocabulary-ex173-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally blocked Joe", 5 | "type": "Block", 6 | "actor": "http://sally.example.org", 7 | "object": "http://joe.example.org" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex174-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally flagged an inappropriate note", 5 | "type": "Flag", 6 | "actor": "http://sally.example.org", 7 | "object": { 8 | "type": "Note", 9 | "content": "An inappropriate note" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex175-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally disliked a post", 5 | "type": "Dislike", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex18-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally left work", 5 | "type": "Leave", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Place", 12 | "name": "Work" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex180-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's friends list", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "summary": "Sally is following Joe", 9 | "type": "Relationship", 10 | "subject": { 11 | "type": "Person", 12 | "name": "Sally" 13 | }, 14 | "relationship": "IsFollowing", 15 | "object": { 16 | "type": "Person", 17 | "name": "Joe" 18 | } 19 | }, 20 | { 21 | "summary": "Sally is a contact of Jane", 22 | "type": "Relationship", 23 | "subject": { 24 | "type": "Person", 25 | "name": "Sally" 26 | }, 27 | "relationship": "IsContact", 28 | "object": { 29 | "type": "Person", 30 | "name": "Jane" 31 | } 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /test/vocabulary-ex181-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Mention of Joe by Carrie in her note", 5 | "type": "Mention", 6 | "href": "http://example.org/joe", 7 | "name": "Joe" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex181-jsonldb.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally became a friend of Matt", 5 | "type": "Create", 6 | "actor": "http://sally.example.org", 7 | "object": { 8 | "type": "Relationship", 9 | "subject": "http://sally.example.org", 10 | "relationship": "IsContact", 11 | "object": "http://matt.example.org", 12 | "startTime": "2015-04-21T12:34:56" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex182-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Travel", 5 | "summary": "Sally went to work", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "target": { 11 | "type": "Place", 12 | "name": "Work" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex182-jsonldb.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "San Francisco, CA" 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex183-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "San Francisco, CA", 6 | "longitude": "122.4167", 7 | "latitude": "37.7833" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex184-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "type": "OrderedCollection", 4 | "totalItems": 3, 5 | "name": "Vacation photos 2016", 6 | "orderedItems": [ 7 | { 8 | "type": "Image", 9 | "id": "http://image.example/1" 10 | }, 11 | { 12 | "type": "Tombstone", 13 | "formerType": "Image", 14 | "id": "http://image.example/2", 15 | "deleted": "2016-03-17T00:00:00Z" 16 | }, 17 | { 18 | "type": "Image", 19 | "id": "http://image.example/3" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /test/vocabulary-ex184a-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Profile", 5 | "summary": "Sally's Profile", 6 | "describes": { 7 | "type": "Person", 8 | "name": "Sally Smith" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex184b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "type": "OrderedCollection", 4 | "totalItems": 3, 5 | "name": "Vacation photos 2016", 6 | "orderedItems": [ 7 | { 8 | "type": "Image", 9 | "id": "http://image.example/1" 10 | }, 11 | { 12 | "type": "Tombstone", 13 | "formerType": "Image", 14 | "id": "http://image.example/2", 15 | "deleted": "2016-03-17T00:00:00Z" 16 | }, 17 | { 18 | "type": "Image", 19 | "id": "http://image.example/3" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /test/vocabulary-ex185-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's profile", 5 | "type": "Profile", 6 | "describes": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "url": "http://sally.example.org" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex185b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "This image has been deleted", 5 | "type": "Tombstone", 6 | "formerType": "Image", 7 | "url": "http://example.org/image/2" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex185c-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "This image has been deleted", 5 | "type": "Tombstone", 6 | "deleted": "2016-05-03T00:00:00Z" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex186-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Organization", 5 | "name": "Example Co." 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex187-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "id": "http://example.org/connection-requests/123", 5 | "summary": "Sally requested to be a friend of John", 6 | "type": "Offer", 7 | "actor": "acct:sally@example.org", 8 | "object": { 9 | "summary": "Sally and John's friendship", 10 | "id": "http://example.org/connections/123", 11 | "type": "Relationship", 12 | "subject": "acct:sally@example.org", 13 | "relationship": "IsContact", 14 | "object": "acct:john@example.org" 15 | }, 16 | "target": "acct:john@example.org" 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex188-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally and John's relationship history", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "summary": "John accepted Sally's friend request", 9 | "id": "http://example.org/activities/122", 10 | "type": "Accept", 11 | "actor": "acct:john@example.org", 12 | "object": "http://example.org/connection-requests/123", 13 | "inReplyTo": "http://example.org/connection-requests/123", 14 | "context": "http://example.org/connections/123", 15 | "result": [ 16 | "http://example.org/activities/123", 17 | "http://example.org/activities/124", 18 | "http://example.org/activities/125", 19 | "http://example.org/activities/126" 20 | ] 21 | }, 22 | { 23 | "summary": "John followed Sally", 24 | "id": "http://example.org/activities/123", 25 | "type": "Follow", 26 | "actor": "acct:john@example.org", 27 | "object": "acct:sally@example.org", 28 | "context": "http://example.org/connections/123" 29 | }, 30 | { 31 | "summary": "Sally followed John", 32 | "id": "http://example.org/activities/124", 33 | "type": "Follow", 34 | "actor": "acct:sally@example.org", 35 | "object": "acct:john@example.org", 36 | "context": "http://example.org/connections/123" 37 | }, 38 | { 39 | "summary": "John added Sally to his friends list", 40 | "id": "http://example.org/activities/125", 41 | "type": "Add", 42 | "actor": "acct:john@example.org", 43 | "object": "http://example.org/connections/123", 44 | "target": { 45 | "type": "Collection", 46 | "summary": "John's Connections" 47 | }, 48 | "context": "http://example.org/connections/123" 49 | }, 50 | { 51 | "summary": "Sally added John to her friends list", 52 | "id": "http://example.org/activities/126", 53 | "type": "Add", 54 | "actor": "acct:sally@example.org", 55 | "object": "http://example.org/connections/123", 56 | "target": { 57 | "type": "Collection", 58 | "summary": "Sally's Connections" 59 | }, 60 | "context": "http://example.org/connections/123" 61 | } 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /test/vocabulary-ex189-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A question about robots", 5 | "id": "http://help.example.org/question/1", 6 | "type": "Question", 7 | "content": "I'd like to build a robot to feed my cat. Should I use Arduino or Raspberry Pi?" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex19-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally left a group", 5 | "type": "Leave", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Group", 12 | "name": "A Simple Group" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex190-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "id": "http://polls.example.org/question/1", 5 | "name": "A question about robots", 6 | "type": "Question", 7 | "content": "I'd like to build a robot to feed my cat. Which platform is best?", 8 | "oneOf": [ 9 | {"name": "arduino"}, 10 | {"name": "raspberry pi"} 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex191-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "attributedTo": "http://sally.example.org", 5 | "inReplyTo": "http://polls.example.org/question/1", 6 | "name": "arduino" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex192-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A question about robots", 5 | "id": "http://polls.example.org/question/1", 6 | "type": "Question", 7 | "content": "I'd like to build a robot to feed my cat. Which platform is best?", 8 | "oneOf": [ 9 | {"name": "arduino"}, 10 | {"name": "raspberry pi"} 11 | ], 12 | "replies": { 13 | "type": "Collection", 14 | "totalItems": 3, 15 | "items": [ 16 | { 17 | "attributedTo": "http://sally.example.org", 18 | "inReplyTo": "http://polls.example.org/question/1", 19 | "name": "arduino" 20 | }, 21 | { 22 | "attributedTo": "http://joe.example.org", 23 | "inReplyTo": "http://polls.example.org/question/1", 24 | "name": "arduino" 25 | }, 26 | { 27 | "attributedTo": "http://john.example.org", 28 | "inReplyTo": "http://polls.example.org/question/1", 29 | "name": "raspberry pi" 30 | } 31 | ] 32 | }, 33 | "result": { 34 | "type": "Note", 35 | "content": "Users are favoriting &quot;arduino&quot; by a 33% margin." 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /test/vocabulary-ex193-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "History of John's note", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "summary": "Sally liked John's note", 9 | "type": "Like", 10 | "actor": "http://sally.example.org", 11 | "id": "http://activities.example.com/1", 12 | "published": "2015-11-12T12:34:56Z", 13 | "object": { 14 | "summary": "John's note", 15 | "type": "Note", 16 | "id": "http://notes.example.com/1", 17 | "attributedTo": "http://john.example.org", 18 | "content": "My note" 19 | } 20 | }, 21 | { 22 | "summary": "Sally disliked John's note", 23 | "type": "Dislike", 24 | "actor": "http://sally.example.org", 25 | "id": "http://activities.example.com/2", 26 | "published": "2015-12-11T21:43:56Z", 27 | "object": { 28 | "summary": "John's note", 29 | "type": "Note", 30 | "id": "http://notes.example.com/1", 31 | "attributedTo": "http://john.example.org", 32 | "content": "My note" 33 | } 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /test/vocabulary-ex193b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "History of John's note", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "summary": "Sally liked John's note", 9 | "type": "Like", 10 | "id": "http://activities.example.com/1", 11 | "actor": "http://sally.example.org", 12 | "published": "2015-11-12T12:34:56Z", 13 | "object": { 14 | "summary": "John's note", 15 | "type": "Note", 16 | "id": "http://notes.example.com/1", 17 | "attributedTo": "http://john.example.org", 18 | "content": "My note" 19 | } 20 | }, 21 | { 22 | "summary": "Sally no longer likes John's note", 23 | "type": "Undo", 24 | "id": "http://activities.example.com/2", 25 | "actor": "http://sally.example.org", 26 | "published": "2015-12-11T21:43:56Z", 27 | "object": "http://activities.example.com/1" 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /test/vocabulary-ex194-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Activities in Project XYZ", 5 | "type": "Collection", 6 | "items": [ 7 | { 8 | "summary": "Sally created a note", 9 | "type": "Create", 10 | "id": "http://activities.example.com/1", 11 | "actor": "http://sally.example.org", 12 | "object": { 13 | "summary": "A note", 14 | "type": "Note", 15 | "id": "http://notes.example.com/1", 16 | "content": "A note" 17 | }, 18 | "context": { 19 | "type": "http://example.org/Project", 20 | "name": "Project XYZ" 21 | }, 22 | "audience": { 23 | "type": "Group", 24 | "name": "Project XYZ Working Group" 25 | }, 26 | "to": "http://john.example.org" 27 | }, 28 | { 29 | "summary": "John liked Sally's note", 30 | "type": "Like", 31 | "id": "http://activities.example.com/1", 32 | "actor": "http://john.example.org", 33 | "object": "http://notes.example.com/1", 34 | "context": { 35 | "type": "http://example.org/Project", 36 | "name": "Project XYZ" 37 | }, 38 | "audience": { 39 | "type": "Group", 40 | "name": "Project XYZ Working Group" 41 | }, 42 | "to": "http://sally.example.org" 43 | } 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /test/vocabulary-ex196-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A thank-you note", 5 | "type": "Note", 6 | "content": "Thank you <a href='http://sally.example.org'>@sally</a> 7 | for all your hard work! 8 | <a href='http://example.org/tags/givingthanks'>#givingthanks</a>", 9 | "to": { 10 | "name": "Sally", 11 | "type": "Person", 12 | "id": "http://sally.example.org" 13 | }, 14 | "tag": { 15 | "id": "http://example.org/tags/givingthanks", 16 | "name": "#givingthanks" 17 | } 18 | } -------------------------------------------------------------------------------- /test/vocabulary-ex197-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A thank-you note", 5 | "type": "Note", 6 | "content": "Thank you @sally for all your hard work! #givingthanks", 7 | "tag": [ 8 | { 9 | "type": "Mention", 10 | "href": "http://example.org/people/sally", 11 | "name": "@sally" 12 | }, 13 | { 14 | "id": "http://example.org/tags/givingthanks", 15 | "name": "#givingthanks" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /test/vocabulary-ex198-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally moved the sales figures from Folder A to Folder B", 5 | "type": "Move", 6 | "actor": "http://sally.example.org", 7 | "object": { 8 | "type": "Document", 9 | "name": "sales figures" 10 | }, 11 | "origin": { 12 | "type": "Collection", 13 | "name": "Folder A" 14 | }, 15 | "target": { 16 | "type": "Collection", 17 | "name": "Folder B" 18 | } 19 | } -------------------------------------------------------------------------------- /test/vocabulary-ex2-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Link", 5 | "href": "http://example.org/abc", 6 | "hreflang": "en", 7 | "mediaType": "text/html", 8 | "name": "An example link" 9 | } 10 | -------------------------------------------------------------------------------- /test/vocabulary-ex20-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally liked a note", 5 | "type": "Like", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/notes/1" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex21-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered 50% off to Lewis", 5 | "type": "Offer", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "http://www.types.example/ProductOffer", 12 | "name": "50% Off!" 13 | }, 14 | "target": { 15 | "type": "Person", 16 | "name": "Lewis" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex22-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally is a contact of John", 5 | "type": "Relationship", 6 | "subject": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "relationship": "IsContact", 11 | "object": { 12 | "type": "Person", 13 | "name": "John" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex22a-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally is a contact of John's", 5 | "type": "Relationship", 6 | "subject": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "relationship": "IsContact", 11 | "object": { 12 | "type": "Person", 13 | "name": "John" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex22c-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally is a contact of John's", 5 | "type": "Relationship", 6 | "subject": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "relationship": "IsContact", 11 | "object": { 12 | "type": "Person", 13 | "name": "John" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex24-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally invited John and Lisa to a party", 5 | "type": "Invite", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Event", 12 | "name": "A Party" 13 | }, 14 | "target": [ 15 | { 16 | "type": "Person", 17 | "name": "John" 18 | }, 19 | { 20 | "type": "Person", 21 | "name": "Lisa" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /test/vocabulary-ex26-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally rejected an invitation to a party", 5 | "type": "Reject", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Invite", 12 | "actor": "http://john.example.org", 13 | "object": { 14 | "type": "Event", 15 | "name": "A Party!" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex27-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally tentatively rejected an invitation to a party", 5 | "type": "TentativeReject", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Invite", 12 | "actor": "http://john.example.org", 13 | "object": { 14 | "type": "Event", 15 | "name": "A Party!" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex28-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally removed a note from her notes folder", 5 | "type": "Remove", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/notes/1", 11 | "target": { 12 | "type": "Collection", 13 | "name": "Notes Folder" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex29-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "The moderator removed Sally from a group", 5 | "type": "Remove", 6 | "actor": { 7 | "type": "http://example.org/Role", 8 | "name": "The Moderator" 9 | }, 10 | "object": { 11 | "type": "Person", 12 | "name": "Sally" 13 | }, 14 | "origin": { 15 | "type": "Group", 16 | "name": "A Simple Group" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex3-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Activity", 5 | "summary": "Sally did something to a note", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Note", 12 | "name": "A Note" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex32-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally retracted her offer to John", 5 | "type": "Undo", 6 | "actor": "http://sally.example.org", 7 | "object": { 8 | "type": "Offer", 9 | "actor": "http://sally.example.org", 10 | "object": "http://example.org/posts/1", 11 | "target": "http://john.example.org" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/vocabulary-ex33-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally updated her note", 5 | "type": "Update", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/notes/1" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex34-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Application", 5 | "name": "My Software Application." 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex37-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Group", 5 | "name": "A Simple Group." 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex39-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Person", 5 | "name": "Sally Smith." 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex42-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Service", 5 | "name": "Acme Web Service" 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex43-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Article", 5 | "name": "A Blog Post", 6 | "content": "<div>... a long blog post</div>", 7 | "attributedTo": "http://sally.example.org" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex48-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Document", 5 | "name": "4Q Sales Forecast", 6 | "url": "http://example.org/4q-sales-forecast.pdf" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex49-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Audio", 5 | "name": "A Simple Podcast", 6 | "url": { 7 | "type": "Link", 8 | "href": "http://example.org/podcast.mp3", 9 | "mediaType": "audio/mp3" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex5-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's notes", 5 | "type": "Collection", 6 | "totalItems": 2, 7 | "items": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex50-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Image", 5 | "name": "A Simple Image", 6 | "url": [ 7 | { 8 | "type": "Link", 9 | "href": "http://example.org/image.jpeg", 10 | "mediaType": "image/jpeg" 11 | }, 12 | { 13 | "type": "Link", 14 | "href": "http://example.org/image.png", 15 | "mediaType": "image/png" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex51-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Video", 5 | "name": "A Simple Video", 6 | "url": "http://example.org/video.mkv", 7 | "duration": "PT2H" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex52-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "name": "A Short Note", 6 | "content": "This is a short note" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex53-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Page", 5 | "name": "A Webpage", 6 | "url": "http://example.org/page.html" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex55-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "http://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "oneOf": [ 7 | { 8 | "type": "Note", 9 | "name": "Option A" 10 | }, 11 | { 12 | "type": "Note", 13 | "name": "Option B" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex55a-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "oneOf": [ 7 | { 8 | "type": "Note", 9 | "name": "Option A" 10 | }, 11 | { 12 | "type": "Note", 13 | "name": "Option B" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex55b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "closed": "2016-05-10T00:00:00Z" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex56-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Event", 5 | "name": "A Party!", 6 | "startTime": "2014-12-31T23:00:00-08:00", 7 | "endTime": "2015-01-01T06:00:00-08:00" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex57-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Work" 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-ex58-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Place", 5 | "name": "Fresno Area", 6 | "latitude": 36.75, 7 | "longitude": 119.7667, 8 | "radius": 15, 9 | "units": "miles" 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex59-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered the Foo object", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/foo" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex6-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's notes", 5 | "type": "OrderedCollection", 6 | "totalItems": 2, 7 | "orderedItems": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex60-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered the Foo object", 5 | "type": "Offer", 6 | "actor": { 7 | "type": "Person", 8 | "id": "http://sally.example.org", 9 | "summary": "Sally" 10 | }, 11 | "object": "http://example.org/foo" 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex61-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally and Joe offered the Foo object", 5 | "type": "Offer", 6 | "actor": [ 7 | "http://joe.example.org", 8 | { 9 | "type": "Person", 10 | "id": "http://sally.example.org", 11 | "name": "Sally" 12 | } 13 | ], 14 | "object": "http://example.org/foo" 15 | } 16 | -------------------------------------------------------------------------------- /test/vocabulary-ex64-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Note", 5 | "name": "A Simple Note", 6 | "attachment": [ 7 | { 8 | "type": "Image", 9 | "content": "A simple Image", 10 | "url": "http://example.org/cat.jpeg" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /test/vocabulary-ex65-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Image", 5 | "name": "A Simple Image", 6 | "url": "http://example.org/cat.jpeg", 7 | "attributedTo": [ 8 | { 9 | "type": "Person", 10 | "name": "Sally" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /test/vocabulary-ex66-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Image", 5 | "name": "A Simple Image", 6 | "url": "http://example.org/cat.jpeg", 7 | "attributedTo": [ 8 | "http://joe.example.org", 9 | { 10 | "type": "Person", 11 | "name": "Sally" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex68-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered a post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": "http://john.example.org", 9 | "bcc": [ "http://joe.example.org" ] 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex69-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered a post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": "http://john.example.org", 9 | "bto": [ "http://joe.example.org" ] 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex6b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's notes", 5 | "type": "CollectionPage", 6 | "id": "http://example.org/foo?page=1", 7 | "partOf": "http://example.org/foo", 8 | "items": [ 9 | { 10 | "type": "Note", 11 | "name": "A Simple Note" 12 | }, 13 | { 14 | "type": "Note", 15 | "name": "Another Simple Note" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex6c-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 1 of Sally's notes", 5 | "type": "OrderedCollectionPage", 6 | "id": "http://example.org/foo?page=1", 7 | "partOf": "http://example.org/foo", 8 | "orderedItems": [ 9 | { 10 | "type": "Note", 11 | "name": "A Simple Note" 12 | }, 13 | { 14 | "type": "Note", 15 | "name": "Another Simple Note" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex7-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "http://www.w3.org/ns/activitystreams", 4 | "type": "Accept", 5 | "actor": { 6 | "type": "Person", 7 | "name": "Sally" 8 | }, 9 | "object": { 10 | "type": "Invite", 11 | "actor": "http://john.example.org", 12 | "object": { 13 | "type": "Event", 14 | "name": "A Party!" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex70-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally offered a post to John", 5 | "type": "Offer", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1", 8 | "target": "http://john.example.org", 9 | "cc": [ "http://joe.example.org" ] 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-ex71-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's blog posts", 5 | "type": "Collection", 6 | "totalItems": 3, 7 | "current": "http://example.org/collection", 8 | "items": [ 9 | "http://example.org/posts/1", 10 | "http://example.org/posts/2", 11 | "http://example.org/posts/3" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /test/vocabulary-ex72-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's blog posts", 5 | "type": "Collection", 6 | "totalItems": 3, 7 | "current": { 8 | "type": "Link", 9 | "summary": "Most Recent Items", 10 | "href": "http://example.org/collection" 11 | }, 12 | "items": [ 13 | "http://example.org/posts/1", 14 | "http://example.org/posts/2", 15 | "http://example.org/posts/3" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex73-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's blog posts", 5 | "type": "Collection", 6 | "totalItems": 3, 7 | "first": "http://example.org/collection?page=0" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex74-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's blog posts", 5 | "type": "Collection", 6 | "totalItems": 3, 7 | "first": { 8 | "type": "Link", 9 | "summary": "First Page", 10 | "href": "http://example.org/collection?page=0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex75-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "generator": { 8 | "type": "Application", 9 | "name": "My Note Application" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex77-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "icon": { 8 | "type": "Image", 9 | "name": "Note icon", 10 | "url": "http://example.org/note.png", 11 | "width": 16, 12 | "height": 16 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex78-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "icon": [ 8 | { 9 | "type": "Image", 10 | "summary": "Note (16x16)", 11 | "url": "http://example.org/note1.png", 12 | "width": 16, 13 | "height": 16 14 | }, 15 | { 16 | "type": "Image", 17 | "summary": "Note (32x32)", 18 | "url": "http://example.org/note2.png", 19 | "width": 32, 20 | "height": 32 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /test/vocabulary-ex7a-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally accepted an invitation to a party", 5 | "type": "Accept", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Invite", 12 | "actor": "http://john.example.org", 13 | "object": { 14 | "type": "Event", 15 | "name": "A Party!" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex7b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally accepted Joe into the club", 5 | "type": "Accept", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Person", 12 | "name": "Joe" 13 | }, 14 | "target": { 15 | "type": "Group", 16 | "name": "The Club" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex8-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally tentatively accepted an invitation to a party", 5 | "type": "TentativeAccept", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": { 11 | "type": "Invite", 12 | "actor": "http://john.example.org", 13 | "object": { 14 | "type": "Event", 15 | "name": "A Party!" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/vocabulary-ex80-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "image": { 8 | "type": "Image", 9 | "name": "A Cat", 10 | "url": "http://example.org/cat.png" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex81-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A Simple note", 7 | "image": [ 8 | { 9 | "type": "Image", 10 | "name": "Cat 1", 11 | "url": "http://example.org/cat1.png" 12 | }, 13 | { 14 | "type": "Image", 15 | "name": "Cat 2", 16 | "url": "http://example.org/cat2.png" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /test/vocabulary-ex83-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "inReplyTo": { 8 | "name": "Another note", 9 | "type": "Note", 10 | "content": "Another note" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex84-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "A simple note", 5 | "type": "Note", 6 | "content": "A simple note", 7 | "inReplyTo": "http://example.org/posts/1" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex87-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A collection", 5 | "type": "Collection", 6 | "totalItems": 3, 7 | "last": "http://example.org/collection?page=1" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex88-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A collection", 5 | "type": "Collection", 6 | "totalItems": 5, 7 | "last": { 8 | "type": "Link", 9 | "summary": "Last Page", 10 | "href": "http://example.org/collection?page=1" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex89-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Person", 5 | "name": "Sally", 6 | "location": { 7 | "name": "Over the Arabian Sea, east of Socotra Island Nature Sanctuary", 8 | "type": "Place", 9 | "longitude": 12.34, 10 | "latitude": 56.78, 11 | "altitude": 90, 12 | "units": "m" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/vocabulary-ex9-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally added an object", 5 | "type": "Add", 6 | "actor": { 7 | "type": "Person", 8 | "name": "Sally" 9 | }, 10 | "object": "http://example.org/abc" 11 | } 12 | -------------------------------------------------------------------------------- /test/vocabulary-ex91-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's notes", 5 | "type": "Collection", 6 | "totalItems": 2, 7 | "items": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex92-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally's notes", 5 | "type": "OrderedCollection", 6 | "totalItems": 2, 7 | "orderedItems": [ 8 | { 9 | "type": "Note", 10 | "name": "A Simple Note" 11 | }, 12 | { 13 | "type": "Note", 14 | "name": "Another Simple Note" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /test/vocabulary-ex93-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "oneOf": [ 7 | { 8 | "type": "Note", 9 | "name": "Option A" 10 | }, 11 | { 12 | "type": "Note", 13 | "name": "Option B" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex94-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "anyOf": [ 7 | { 8 | "type": "Note", 9 | "name": "Option A" 10 | }, 11 | { 12 | "type": "Note", 13 | "name": "Option B" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex94b-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Question", 5 | "name": "What is the answer?", 6 | "closed": "2016-05-10T00:00:00Z" 7 | } 8 | -------------------------------------------------------------------------------- /test/vocabulary-ex96-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 2 of Sally's blog posts", 5 | "type": "CollectionPage", 6 | "next": "http://example.org/collection?page=2", 7 | "items": [ 8 | "http://example.org/posts/1", 9 | "http://example.org/posts/2", 10 | "http://example.org/posts/3" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/vocabulary-ex97-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Page 2 of Sally's blog posts", 5 | "type": "CollectionPage", 6 | "next": { 7 | "type": "Link", 8 | "name": "Next Page", 9 | "href": "http://example.org/collection?page=2" 10 | }, 11 | "items": [ 12 | "http://example.org/posts/1", 13 | "http://example.org/posts/2", 14 | "http://example.org/posts/3" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/vocabulary-ex98-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "Sally liked a post", 5 | "type": "Like", 6 | "actor": "http://sally.example.org", 7 | "object": "http://example.org/posts/1" 8 | } 9 | -------------------------------------------------------------------------------- /test/vocabulary-ex99-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "type": "Like", 5 | "actor": "http://sally.example.org", 6 | "object": { 7 | "type": "Note", 8 | "content": "A simple note" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/vocabulary-exid-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "name": "Foo", 5 | "id": "http://example.org/foo" 6 | } 7 | -------------------------------------------------------------------------------- /test/vocabulary-extype-jsonld.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "@context": "https://www.w3.org/ns/activitystreams", 4 | "summary": "A foo", 5 | "type": "http://example.org/Foo" 6 | } 7 | -------------------------------------------------------------------------------- /vocabulary/manifest: -------------------------------------------------------------------------------- 1 | index.html 2 | activitystreams2.owl 3 | -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": "cg/socialcg", 3 | "contacts": [ 4 | "plehegar" 5 | ], 6 | "policy": "open", 7 | "repo-type": "rec-track" 8 | } 9 | --------------------------------------------------------------------------------