Skip to content

Commit

Permalink
Add Solid Notifications vocabulary and JSON-LD context (#85)
Browse files Browse the repository at this point in the history
* Add Solid Notification JSON-LD context (#62)

* Add Solid Notification JSON-LD context

* 2 spaces instead of 4

* Align with published specification documents

* Adjust isDefinedBy references

* Adjust features -> feature in JSON-LD context

* Apply suggestions from code review

Co-authored-by: Sarven Capadisli <info@csarven.ca>

* Add missing properties and corrections.

* Apply suggestions from code review

Co-authored-by: Aaron Coburn <acoburn@apache.org>

* Add missing sender property and context definition

* Rename subscription-resource to subscription-service as per https://github.com/solid/notifications-panel/blob/main/meetings/2023-02-02.md#rename-subscription-resource-to-subscription-service

* Add notification channel types to notify vocab and JSON-LD context

---------

Co-authored-by: Aaron Coburn <acoburn@apache.org>
  • Loading branch information
csarven and acoburn authored Mar 9, 2023
1 parent 74d1aa1 commit 2270784
Show file tree
Hide file tree
Showing 2 changed files with 215 additions and 0 deletions.
64 changes: 64 additions & 0 deletions solid-notifications-context.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"@context": {
"@version": 1.1,
"@protected": true,
"id": "@id",
"type": "@type",
"notify": "http://www.w3.org/ns/solid/notifications#",
"xsd": "http://www.w3.org/2001/XMLSchema#",

"EventSourceChannel2023": "notify:EventSourceChannel2023",
"LDNChannel2023": "notify:LDNChannel2023",
"StreamingHTTPChannel2023": "notify:StreamingHTTPChannel2023",
"WebhookChannel2023": "notify:WebhookChannel2023",
"WebSocketChannel2023": "notify:WebSocketChannel2023",

"accept": "notify:accept",

"channel": {
"@id": "notify:channel",
"@type": "@id" },

"channelType": {
"@id": "notify:channelType",
"@type": "@vocab" },

"endAt": {
"@id": "notify:endAt",
"@type": "xsd:dateTime" },

"feature": {
"@id": "notify:feature",
"@type": "@vocab" },

"rate": {
"@id": "notify:rate",
"@type": "xsd:duration" },

"receiveFrom": {
"@id": "notify:receiveFrom",
"@type": "@id" },

"sender": {
"@id": "notify:sender",
"@type": "@id" },

"sendTo": {
"@id": "notify:sendTo",
"@type": "@id" },

"state": "notify:state",

"startAt": {
"@id": "notify:startAt",
"@type": "xsd:dateTime" },

"subscription": {
"@id": "notify:subscription",
"@type": "@id" },

"topic": {
"@id": "notify:topic",
"@type": "@id" }
}
}
151 changes: 151 additions & 0 deletions solid-notifications.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
@prefix notify: <http://www.w3.org/ns/solid/notifications#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix vann: <http://purl.org/vocab/vann/> .

<http://www.w3.org/ns/solid/notifications#>
a owl:Ontology ;
dc:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
rdfs:label "Solid Notifications"@en ;
rdfs:comment "The vocabulary used by the Solid Notifications Protocol specification."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
rdfs:seeAlso <https://solidproject.org/TR/notifications-protocol> ;
dc:issued "2022-12-31"^^xsd:date ;
vann:preferredNamespacePrefix "notify" ;
vann:preferredNamespaceUri "http://www.w3.org/ns/solid/notifications#"^^xsd:anyURI .

# ---------
# Classes
# ---------
notify:EventSourceChannel2023
a rdf:Class ;
rdfs:label "EventSourceChannel2023" ;
rdfs:comment "A notification channel type that uses the EventSource Web API."@en ;
rdfs:isDefinedBy <https://solid.github.io/notifications/eventsource-channel-2023> ;
vs:term_status "testing" .

notify:LDNChannel2023
a rdf:Class ;
rdfs:label "LDNChannel2023" ;
rdfs:comment "A notification channel type that uses the Linked Data Notifications protocol."@en ;
rdfs:isDefinedBy <https://solid.github.io/notifications/ldn-channel-2023> ;
vs:term_status "testing" .

notify:StreamingHTTPChannel2023
a rdf:Class ;
rdfs:label "StreamingHTTPChannel2023" ;
rdfs:comment "A notification channel type that uses the Fetch API."@en ;
rdfs:isDefinedBy <https://solid.github.io/notifications/streaming-http-channel-2023> ;
vs:term_status "testing" .

notify:WebhookChannel2023
a rdf:Class ;
rdfs:label "WebhookChannel2023" ;
rdfs:comment "A notification channel type that uses Webhooks."@en ;
rdfs:isDefinedBy <https://solid.github.io/notifications/webhook-channel-2023> ;
vs:term_status "testing" .

notify:WebSocketChannel2023
a rdf:Class ;
rdfs:label "WebSocketChannel2023" ;
rdfs:comment "A notification channel type that uses the WebSocket API."@en ;
rdfs:isDefinedBy <https://solid.github.io/notifications/websocket-channel-2023> ;
vs:term_status "testing" .

# ------------
# Properties
# ------------
notify:accept
a rdf:Property ;
rdfs:label "accept"@en ;
rdfs:comment "The media types that are acceptable by the recipient of a notification with value corresponding to the HTTP Accept header value [RFC7231]."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:channel
a rdf:Property ;
rdfs:label "notification channel"@en ;
rdfs:comment "A property used to indicate an available notification channel."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:channelType
a rdf:Property ;
rdfs:label "notification channel type"@en ;
rdfs:comment "A property used to indicate the notification channel type."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:endAt
a rdf:Property ;
rdfs:label "end at"@en ;
rdfs:comment "The proposed or actual ending date and time of a notification channel with value represented in the xsd:dateTime datatype."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:feature
a rdf:Property ;
rdfs:label "feature"@en ;
rdfs:comment "A property used to describe the features supported by a particular notification channel."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:rate
a rdf:Property ;
rdfs:label "rate"@en ;
rdfs:comment "The minimum amount of time to elapse between notifications sent to receiver with value represented in the xsd:duration datatype."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:receiveFrom
a rdf:Property ;
rdfs:label "receive from"@en ;
rdfs:comment "The property used to identify the resource that can be used to establish a connection to receive notifications."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:sender
a rdf:Property ;
rdfs:label "sender"@en ;
rdfs:comment "The property used to identify the party that sends notifications."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:sendTo
a rdf:Property ;
rdfs:label "send to"@en ;
rdfs:comment "The property used to identify the resource that can accept notifications."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:startAt
a rdf:Property ;
rdfs:label "start at"@en ;
rdfs:comment "The proposed or actual starting date and time of a notification channel with value represented in the xsd:dateTime datatype."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:state
a rdf:Property ;
rdfs:label "state"@en ;
rdfs:comment "The last known state of a resource (topic) with value represented in the xsd:string datatype."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:subscription
a rdf:Property ;
rdfs:label "subscription"@en ;
rdfs:comment "A property used to indicate an available subscription service."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

notify:topic
a rdf:Property ;
rdfs:label "topic"@en ;
rdfs:comment "The IRI of a resource about which a client would like to receive notifications."@en ;
rdfs:isDefinedBy <http://www.w3.org/ns/solid/notifications#> ;
vs:term_status "testing" .

0 comments on commit 2270784

Please sign in to comment.