From 753a399dd7f8e06c09906c506808fca1f4e35d8e Mon Sep 17 00:00:00 2001 From: a Date: Thu, 10 Oct 2024 13:47:39 -0500 Subject: [PATCH] 0499: Change term IRI from #multibox to /multibox --- fep/0499/context.jsonld | 8 ---- fep/0499/fep-0499.jsonld | 55 +++++++++++++++++++++ fep/0499/fep-0499.md | 72 +++++++++++++++++++++++++--- fep/0499/fep-0499.rdf | 27 +++++++++++ fep/0499/fep-0499.ttl | 23 +++++++++ fep/0499/multibox/README.md | 79 +++++++++++++++++++++++++++++++ fep/0499/multibox/multibox.html | 78 ++++++++++++++++++++++++++++++ fep/0499/multibox/multibox.jsonld | 36 ++++++++++++++ fep/0499/multibox/multibox.rdf | 15 ++++++ fep/0499/multibox/multibox.ttl | 11 +++++ 10 files changed, 390 insertions(+), 14 deletions(-) delete mode 100644 fep/0499/context.jsonld create mode 100644 fep/0499/fep-0499.jsonld create mode 100644 fep/0499/fep-0499.rdf create mode 100644 fep/0499/fep-0499.ttl create mode 100644 fep/0499/multibox/README.md create mode 100644 fep/0499/multibox/multibox.html create mode 100644 fep/0499/multibox/multibox.jsonld create mode 100644 fep/0499/multibox/multibox.rdf create mode 100644 fep/0499/multibox/multibox.ttl diff --git a/fep/0499/context.jsonld b/fep/0499/context.jsonld deleted file mode 100644 index 911bfcc..0000000 --- a/fep/0499/context.jsonld +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@context": { - "multibox": { - "@id": "https://w3id.org/fep/0499#multibox", - "@type": "@id" - } - } -} \ No newline at end of file diff --git a/fep/0499/fep-0499.jsonld b/fep/0499/fep-0499.jsonld new file mode 100644 index 0000000..10515cb --- /dev/null +++ b/fep/0499/fep-0499.jsonld @@ -0,0 +1,55 @@ +{ + "@context": { + "multibox": { + "@id": "https://w3id.org/fep/0499/multibox", + "@type": "@id" + } + }, + "@graph": [ + { + "@id": "https://w3id.org/fep/0499/multibox", + "@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property", + "http://www.w3.org/2000/01/rdf-schema#comment": { + "@language": "en", + "@value": "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to." + }, + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": { + "@id": "https://w3id.org/fep/0499" + }, + "http://www.w3.org/2000/01/rdf-schema#label": { + "@language": "en", + "@value": "multibox endpoint" + }, + "http://www.w3.org/2000/01/rdf-schema#range": { + "@id": "http://www.w3.org/2000/01/rdf-schema#Resource" + }, + "http://www.w3.org/2002/07/owl#maxCardinality": { + "@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value": "1" + } + }, + { + "@id": "https://w3id.org/fep/0499", + "@type": "http://www.w3.org/2002/07/owl#Ontology", + "http://purl.org/dc/elements/1.1/creator": "a ", + "http://purl.org/dc/elements/1.1/rights": { + "@language": "en", + "@value": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication" + }, + "http://purl.org/dc/terms/abstract": "This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to.", + "http://purl.org/dc/terms/dateSubmitted": { + "@type": "http://www.w3.org/2001/XMLSchema#date", + "@value": "2024-09-30" + }, + "http://purl.org/dc/terms/identifier": { + "@type": "http://www.w3.org/2001/XMLSchema#anyURI", + "@value": "https://w3id.org/fep/0499" + }, + "http://purl.org/dc/terms/license": { + "@id": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "http://purl.org/dc/terms/title": "FEP-0499: Delivering to multiple inboxes with a multibox endpoint" + } + ], + "@id": "https://w3id.org/fep/0499#" +} \ No newline at end of file diff --git a/fep/0499/fep-0499.md b/fep/0499/fep-0499.md index 7eae6b4..27bbee5 100644 --- a/fep/0499/fep-0499.md +++ b/fep/0499/fep-0499.md @@ -89,7 +89,7 @@ Alternatively, without a context declaration: "name": "Alice P. Hacker", "inbox": "https://remote.example/inboxes/fbb433c8e6c4", "endpoints": { - "https://w3id.org/fep/0499#multibox": {"id": "https://remote.example/multibox"} + "https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"} } } ``` @@ -144,15 +144,75 @@ Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystream ## Terms defined -
-

multibox

+
+

multibox

URI
-
https://w3id.org/fep/0499#multibox -
+
https://w3id.org/fep/0499/multibox
+
Label
+
multibox endpoint
Comment
-
An optional endpoint used for wide delivery of activities to multiple inboxes.
+
An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.
+
Domain
+
A map of endpoints
+
Range
+
The endpoint (@id)
+
Functional
+
Yes
+
Is defined by
+
FEP-0499
+
+
+{
+	"@context": [
+		"https://www.w3.org/ns/activitystreams",
+		"https://w3id.org/fep/0499"
+	],
+	"id": "https://remote.example/actors/af4c8205cd81",
+	"type": "Person",
+	"name": "Alice P. Hacker",
+	"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
+	"endpoints": {
+		"multibox": "https://remote.example/multibox"
+	}
+}
+
+
+
+
+{
+	"@context": "https://www.w3.org/ns/activitystreams",
+	"id": "https://remote.example/actors/af4c8205cd81",
+	"type": "Person",
+	"name": "Alice P. Hacker",
+	"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
+	"endpoints": {
+		"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
+	}
+}
+
+
+
+
+POST /multibox HTTP/1.1
+Host: remote.example
+Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
+
+{
+	"@context": "https://www.w3.org/ns/activitystreams",
+	"type": "Add",
+	"object": "https://example.com/some-activity",
+	"target": [
+		"https://remote.example/inboxes/fbb433c8e6c4",
+		"https://remote.example/inboxes/d21f509146e5",
+		"https://remote.example/inboxes/68a7453f79e4",
+		"https://remote.example/inboxes/655216a0be07",
+		"https://remote.example/inboxes/84907eff485d",
+	]
+}
+
+
## References diff --git a/fep/0499/fep-0499.rdf b/fep/0499/fep-0499.rdf new file mode 100644 index 0000000..7b7ddb2 --- /dev/null +++ b/fep/0499/fep-0499.rdf @@ -0,0 +1,27 @@ + + + + + 1 + + + An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to. + multibox endpoint + + + + https://w3id.org/fep/0499 + CC0 1.0 Universal (CC0 1.0) Public Domain Dedication + + FEP-0499: Delivering to multiple inboxes with a multibox endpoint + This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to. + a <trwnh.com> + 2024-09-30 + + diff --git a/fep/0499/fep-0499.ttl b/fep/0499/fep-0499.ttl new file mode 100644 index 0000000..0a17c79 --- /dev/null +++ b/fep/0499/fep-0499.ttl @@ -0,0 +1,23 @@ +@prefix dc: . +@prefix dcterms: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + a rdf:Property ; + rdfs:label "multibox endpoint"@en ; + rdfs:comment "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."@en ; + rdfs:isDefinedBy ; + rdfs:range rdfs:Resource ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + + a owl:Ontology ; + dc:creator "a " ; + dc:rights "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"@en ; + dcterms:abstract "This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to." ; + dcterms:dateSubmitted "2024-09-30"^^xsd:date ; + dcterms:identifier "https://w3id.org/fep/0499"^^xsd:anyURI ; + dcterms:license ; + dcterms:title "FEP-0499: Delivering to multiple inboxes with a multibox endpoint" . + diff --git a/fep/0499/multibox/README.md b/fep/0499/multibox/README.md new file mode 100644 index 0000000..fe451d0 --- /dev/null +++ b/fep/0499/multibox/README.md @@ -0,0 +1,79 @@ +# multibox + +URI +: `https://w3id.org/fep/0499/multibox` + +Label +: multibox endpoint + +Comment +: An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to. + +Domain +: A map of `endpoints` + +Range +: The endpoint (@id) + +Functional +: Yes + +Is defined by +: [FEP-0499](https://w3id.org/fep/0499) + + +## Examples + +Discovering a multibox endpoint with additional context + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/fep/0499" + ], + "id": "https://remote.example/actors/af4c8205cd81", + "type": "Person", + "name": "Alice P. Hacker", + "inbox": "https://remote.example/inboxes/fbb433c8e6c4", + "endpoints": { + "multibox": "https://remote.example/multibox" + } +} +``` + +Discovering a multibox endpoint without additional context + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://remote.example/actors/af4c8205cd81", + "type": "Person", + "name": "Alice P. Hacker", + "inbox": "https://remote.example/inboxes/fbb433c8e6c4", + "endpoints": { + "https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"} + } +} +``` + +Delivering to a multibox endpoint + +```http +POST /multibox HTTP/1.1 +Host: remote.example +Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams" + +{ + "@context": "https://www.w3.org/ns/activitystreams", + "type": "Add", + "object": "https://example.com/some-activity", + "target": [ + "https://remote.example/inboxes/fbb433c8e6c4", + "https://remote.example/inboxes/d21f509146e5", + "https://remote.example/inboxes/68a7453f79e4", + "https://remote.example/inboxes/655216a0be07", + "https://remote.example/inboxes/84907eff485d", + ] +} +``` diff --git a/fep/0499/multibox/multibox.html b/fep/0499/multibox/multibox.html new file mode 100644 index 0000000..751e1b0 --- /dev/null +++ b/fep/0499/multibox/multibox.html @@ -0,0 +1,78 @@ + + + +multibox + + +
+

multibox

+
+
URI
+
https://w3id.org/fep/0499/multibox
+
Label
+
multibox endpoint
+
Comment
+
An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.
+
Domain
+
A map of endpoints
+
Range
+
The endpoint (@id)
+
Functional
+
Yes
+
Is defined by
+
FEP-0499
+
+
+
+{
+	"@context": [
+		"https://www.w3.org/ns/activitystreams",
+		"https://w3id.org/fep/0499"
+	],
+	"id": "https://remote.example/actors/af4c8205cd81",
+	"type": "Person",
+	"name": "Alice P. Hacker",
+	"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
+	"endpoints": {
+		"multibox": "https://remote.example/multibox"
+	}
+}
+
+
+
+
+{
+	"@context": "https://www.w3.org/ns/activitystreams",
+	"id": "https://remote.example/actors/af4c8205cd81",
+	"type": "Person",
+	"name": "Alice P. Hacker",
+	"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
+	"endpoints": {
+		"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
+	}
+}
+
+
+
+
+POST /multibox HTTP/1.1
+Host: remote.example
+Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
+
+{
+	"@context": "https://www.w3.org/ns/activitystreams",
+	"type": "Add",
+	"object": "https://example.com/some-activity",
+	"target": [
+		"https://remote.example/inboxes/fbb433c8e6c4",
+		"https://remote.example/inboxes/d21f509146e5",
+		"https://remote.example/inboxes/68a7453f79e4",
+		"https://remote.example/inboxes/655216a0be07",
+		"https://remote.example/inboxes/84907eff485d",
+	]
+}
+
+
+
+ + \ No newline at end of file diff --git a/fep/0499/multibox/multibox.jsonld b/fep/0499/multibox/multibox.jsonld new file mode 100644 index 0000000..2d6b1ef --- /dev/null +++ b/fep/0499/multibox/multibox.jsonld @@ -0,0 +1,36 @@ +[ + { + "@id": "https://w3id.org/fep/0499/multibox", + "@type": [ + "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" + ], + "http://www.w3.org/2000/01/rdf-schema#comment": [ + { + "@language": "en", + "@value": "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to." + } + ], + "http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [ + { + "@id": "https://w3id.org/fep/0499" + } + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@language": "en", + "@value": "multibox endpoint" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2000/01/rdf-schema#Resource" + } + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value": "1" + } + ] + } +] \ No newline at end of file diff --git a/fep/0499/multibox/multibox.rdf b/fep/0499/multibox/multibox.rdf new file mode 100644 index 0000000..a79101a --- /dev/null +++ b/fep/0499/multibox/multibox.rdf @@ -0,0 +1,15 @@ + + + + + multibox endpoint + An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to. + + 1 + + + \ No newline at end of file diff --git a/fep/0499/multibox/multibox.ttl b/fep/0499/multibox/multibox.ttl new file mode 100644 index 0000000..e1a19cd --- /dev/null +++ b/fep/0499/multibox/multibox.ttl @@ -0,0 +1,11 @@ +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + a rdf:Property ; + rdfs:label "multibox endpoint"@en ; + rdfs:comment "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."@en ; + rdfs:isDefinedBy ; + rdfs:range rdfs:Resource ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . \ No newline at end of file