Last active
December 2, 2024 19:55
-
-
Save green-coder/2394d5e308c5a2dfae52e4ec11f90bb7 to your computer and use it in GitHub Desktop.
Clojure-friendly representation of activitystream's vocabulary
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; https://www.w3.org/TR/activitystreams-vocabulary | |
;; W3C Recommendation 23 May 2017 | |
;; https://www.w3.org/TR/activitystreams-vocabulary/#types | |
(def core-types | |
#:core.type {:object {:class "Object" | |
:uri "https://www.w3.org/ns/activitystreams#Object" | |
:disjoint-with #{:core.type/link} | |
:properties #{:property.type/attachment | |
:property.type/attributed-to | |
:property.type/audience | |
:property.type/content | |
:property.type/context | |
:property.type/name | |
:property.type/end-time | |
:property.type/generator | |
:property.type/icon | |
:property.type/image | |
:property.type/in-reply-to | |
:property.type/start-time | |
:property.type/summary | |
:property.type/tag | |
:property.type/updated | |
:property.type/url | |
:property.type/to | |
:property.type/bto | |
:property.type/cc | |
:property.type/bcc | |
:property.type/media-type | |
:property.type/duration}} | |
:link {:class "Link" | |
:uri "https://www.w3.org/ns/activitystreams#Link" | |
:disjoint-with #{:core.type/object} | |
:properties #{:property.type/href | |
:property.type/rel | |
:property.type/media-type | |
:property.type/name | |
:property.type/hreflang | |
:property.type/height | |
:property.type/width | |
:property.type/preview}} | |
:activity {:class "Activity" | |
:uri "https://www.w3.org/ns/activitystreams#Activity" | |
:extends #{:core.type/object} | |
:properties #{:property.type/actor | |
:property.type/object | |
:property.type/target | |
:property.type/result | |
:property.type/origin | |
:property.type/instrument}} | |
:intransitive-activity {:class "IntransitiveActivity" | |
:uri "https://www.w3.org/ns/activitystreams#IntransitiveActivity" | |
:extends #{:core.type/activity} | |
:without-properties #{:property.type/object}} | |
:collection {:class "Collection" | |
:uri "https://www.w3.org/ns/activitystreams#Collection" | |
:extends #{:core.type/object} | |
:properties #{:property.type/total-items | |
:property.type/current | |
:property.type/first | |
:property.type/last | |
:property.type/items}} | |
:ordered-collection {:class "OrderedCollection" | |
:uri "https://www.w3.org/ns/activitystreams#OrderedCollection" | |
:extends #{:core.type/collection}} | |
:collection-page {:class "CollectionPage" | |
:uri "https://www.w3.org/ns/activitystreams#CollectionPage" | |
:extends #{:core.type/collection} | |
:properties #{:property.type/part-of | |
:property.type/next | |
:property.type/prev}} | |
:ordered-collection-page {:class "OrderedCollectionPage" | |
:uri "https://www.w3.org/ns/activitystreams#OrderedCollectionPage" | |
:extends #{:core.type/ordered-collection | |
:core.type/collection-page} | |
:properties #{:property.type/start-index}}}) | |
;; https://www.w3.org/TR/activitystreams-vocabulary/#extendedtypes | |
;; https://www.w3.org/TR/activitystreams-vocabulary/#activity-types | |
(def activity-types | |
#:activity.type {:accept {:class "Accept" | |
:uri "https://www.w3.org/ns/activitystreams#Accept" | |
:extends #{:core.type/activity}} | |
:add {:class "Add" | |
:uri "https://www.w3.org/ns/activitystreams#Add" | |
:extends #{:core.type/activity}} | |
:announce {:class "Announce" | |
:uri "https://www.w3.org/ns/activitystreams#Announce" | |
:extends #{:core.type/activity}} | |
:arrive {:class "Arrive" | |
:uri "https://www.w3.org/ns/activitystreams#Arrive" | |
:extends #{:core.type/intransitive-activity}} | |
:block {:class "Block" | |
:uri "https://www.w3.org/ns/activitystreams#Block" | |
:extends #{:activity.type/ignore}} | |
:create {:class "Create" | |
:uri "https://www.w3.org/ns/activitystreams#Create" | |
:extends #{:core.type/activity}} | |
:delete {:class "Delete" | |
:uri "https://www.w3.org/ns/activitystreams#Delete" | |
:extends #{:core.type/activity}} | |
:dislike {:class "Dislike" | |
:uri "https://www.w3.org/ns/activitystreams#Dislike" | |
:extends #{:core.type/activity}} | |
:flag {:class "Flag" | |
:uri "https://www.w3.org/ns/activitystreams#Flag" | |
:extends #{:core.type/activity}} | |
:follow {:class "Follow" | |
:uri "https://www.w3.org/ns/activitystreams#Follow" | |
:extends #{:core.type/activity}} | |
:ignore {:class "Ignore" | |
:uri "https://www.w3.org/ns/activitystreams#Ignore" | |
:extends #{:core.type/activity}} | |
:invite {:class "Invite" | |
:uri "https://www.w3.org/ns/activitystreams#Invite" | |
:extends #{:activity.type/offer}} | |
:join {:class "Join" | |
:uri "https://www.w3.org/ns/activitystreams#Join" | |
:extends #{:core.type/activity}} | |
:leave {:class "Leave" | |
:uri "https://www.w3.org/ns/activitystreams#Leave" | |
:extends #{:core.type/activity}} | |
:like {:class "Like" | |
:uri "https://www.w3.org/ns/activitystreams#Like" | |
:extends #{:core.type/activity}} | |
:listen {:class "Listen" | |
:uri "https://www.w3.org/ns/activitystreams#Listen" | |
:extends #{:core.type/activity}} | |
:move {:class "Move" | |
:uri "https://www.w3.org/ns/activitystreams#Move" | |
:extends #{:core.type/activity}} | |
:offer {:class "Offer" | |
:uri "https://www.w3.org/ns/activitystreams#Offer" | |
:extends #{:core.type/activity}} | |
:question {:class "Question" | |
:uri "https://www.w3.org/ns/activitystreams#Question" | |
:extends #{:core.type/intransitive-activity}} | |
:reject {:class "Reject" | |
:uri "https://www.w3.org/ns/activitystreams#Reject" | |
:extends #{:core.type/activity}} | |
:read {:class "Read" | |
:uri "https://www.w3.org/ns/activitystreams#Read" | |
:extends #{:core.type/activity}} | |
:remove {:class "Remove" | |
:uri "https://www.w3.org/ns/activitystreams#Remove" | |
:extends #{:core.type/activity}} | |
:tentative-reject {:class "TentativeReject" | |
:uri "https://www.w3.org/ns/activitystreams#TentativeReject" | |
:extends #{:activity.type/reject}} | |
:tentative-accept {:class "TentativeAccept" | |
:uri "https://www.w3.org/ns/activitystreams#TentativeAccept" | |
:extends #{:activity.type/accept}} | |
:travel {:class "Travel" | |
:uri "https://www.w3.org/ns/activitystreams#Travel" | |
:extends #{:core.type/intransitive-activity}} | |
:undo {:class "Undo" | |
:uri "https://www.w3.org/ns/activitystreams#Undo" | |
:extends #{:core.type/activity}} | |
:update {:class "Update" | |
:uri "https://www.w3.org/ns/activitystreams#Update" | |
:extends #{:core.type/activity}} | |
:view {:class "View" | |
:uri "https://www.w3.org/ns/activitystreams#View" | |
:extends #{:core.type/activity}}}) | |
;; https://www.w3.org/TR/activitystreams-vocabulary/#actor-types | |
(def actor-types | |
#:actor.type {:application {:class "Application" | |
:uri "https://www.w3.org/ns/activitystreams#Application" | |
:extends #{:core.type/object}} | |
:group {:class "Group" | |
:uri "https://www.w3.org/ns/activitystreams#Group" | |
:extends #{:core.type/object}} | |
:organization {:class "Organization" | |
:uri "https://www.w3.org/ns/activitystreams#Organization" | |
:extends #{:core.type/object}} | |
:person {:class "Person" | |
:uri "https://www.w3.org/ns/activitystreams#Person" | |
:extends #{:core.type/object}} | |
:service {:class "Service" | |
:uri "https://www.w3.org/ns/activitystreams#Service" | |
:extends #{:core.type/object}}}) | |
;; https://www.w3.org/TR/activitystreams-vocabulary/#object-types | |
(def object-types | |
#:object.type {:article {:class "Article" | |
:uri "https://www.w3.org/ns/activitystreams#Article" | |
:extends #{:core.type/object}} | |
:audio {:class "Audio" | |
:uri "https://www.w3.org/ns/activitystreams#Audio" | |
:extends #{:object.type/document}} | |
:document {:class "Document" | |
:uri "https://www.w3.org/ns/activitystreams#Document" | |
:extends #{:core.type/object}} | |
:event {:class "Event" | |
:uri "https://www.w3.org/ns/activitystreams#Event" | |
:extends #{:core.type/object}} | |
:image {:class "Image" | |
:uri "https://www.w3.org/ns/activitystreams#Image" | |
:extends #{:object.type/document}} | |
:note {:class "Note" | |
:uri "https://www.w3.org/ns/activitystreams#Note" | |
:extends #{:core.type/object}} | |
:page {:class "Page" | |
:uri "https://www.w3.org/ns/activitystreams#Page" | |
:extends #{:object.type/document}} | |
:place {:class "Place" | |
:uri "https://www.w3.org/ns/activitystreams#Place" | |
:extends #{:core.type/object} | |
:properties #{:property.type/accuracy | |
:property.type/altitude | |
:property.type/latitude | |
:property.type/longitude | |
:property.type/radius | |
:property.type/units}} | |
:profile {:class "Profile" | |
:uri "https://www.w3.org/ns/activitystreams#Profile" | |
:extends #{:core.type/object} | |
:properties #{:property.type/describes}} | |
:relationship {:class "Relationship" | |
:uri "https://www.w3.org/ns/activitystreams#Relationship" | |
:extends #{:core.type/object} | |
:properties #{:property.type/subject | |
:property.type/object | |
:property.type/relationship}} | |
:tombstone {:class "Tombstone" | |
:uri "https://www.w3.org/ns/activitystreams#Tombstone" | |
:extends #{:core.type/object} | |
:properties #{:property.type/former-type | |
:property.type/deleted}} | |
:video {:class "Video" | |
:uri "https://www.w3.org/ns/activitystreams#Video" | |
:extends #{:object.type/document}} | |
:mention {:class "Mention" | |
:url "https://www.w3.org/ns/activitystreams#Mention" | |
:extends #{:core.type/link}}}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment