ActivityPub 属性中的“范围”和“功能”方面是通过 JSON-LD 上下文来定义的。默认情况下,ActivityPub 规范定义了一组上下文,其中包含了大部分的属性定义。但根据不同的应用场景,也可以自定义上下文。
以下是一个示例上下文,定义了一个名为“my”,含有自定义的“范围”和“功能”方面:
{
"@context": {
"my": "http://example.com/my#",
"to": {
"@id": "my:to",
"@type": "@id"
},
"cc": {
"@id": "my:cc",
"@container": "@list",
"@type": "@id"
},
"sensitive": {
"@id": "my:sensitive",
"@type": "xsd:boolean"
}
}
}
在这个示例中,“my”是自定义的命名空间,并定义了三个属性:
在定义 ActivityPub 消息时,可以使用这些自定义属性并给出对应的值。例如:
{
"@context": "http://example.com/my",
"type": "Create",
"to": "https://example.com/users/sofia",
"cc": [
"https://example.com/users/anna",
"https://example.com/users/ken"
],
"sensitive": true,
"object": {
"type": "Article",
"name": "My sensitive article",
"content": "..."
}
}
在这个示例中,我们给出了“to”、“cc”和“sensitive”的取值,并将上下文指定为自定义的命名空间。注意,在发送消息时,需要将上下