feat: initial commit

This commit is contained in:
l.weber 2025-12-05 12:20:05 +01:00
commit a161b86c9a
705 changed files with 288162 additions and 0 deletions

View file

@ -0,0 +1,46 @@
package geojson
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://geojson.org/geojson-ld/geojson-context.jsonld"
// Namespace is the IRI prefix used for terms defined in this context that don't
// map to a different namespace.
const Namespace = "https://purl.org/geojson/vocab#"
const (
// Bbox is a string.
Bbox = Namespace + "bbox"
// Coordinates is a string.
Coordinates = Namespace + "coordinates"
// Features is a string.
Features = Namespace + "features"
// Geometry is a string.
Geometry = Namespace + "geometry"
// Properties is a string.
Properties = Namespace + "properties"
// TypeFeature is a possible value for the type property.
TypeFeature = Namespace + "Feature"
// TypeFeatureCollection is a possible value for the type property.
TypeFeatureCollection = Namespace + "FeatureCollection"
// TypeGeometryCollection is a possible value for the type property.
TypeGeometryCollection = Namespace + "GeometryCollection"
// TypeLineString is a possible value for the type property.
TypeLineString = Namespace + "LineString"
// TypeMultiLineString is a possible value for the type property.
TypeMultiLineString = Namespace + "MultiLineString"
// TypeMultiPoint is a possible value for the type property.
TypeMultiPoint = Namespace + "MultiPoint"
// TypeMultiPolygon is a possible value for the type property.
TypeMultiPolygon = Namespace + "MultiPolygon"
// TypePoint is a possible value for the type property.
TypePoint = Namespace + "Point"
// TypePolygon is a possible value for the type property.
TypePolygon = Namespace + "Polygon"
)

View file

@ -0,0 +1,34 @@
{
"@context": {
"@version": 1.1,
"geojson": "https://purl.org/geojson/vocab#",
"Feature": "geojson:Feature",
"FeatureCollection": "geojson:FeatureCollection",
"GeometryCollection": "geojson:GeometryCollection",
"LineString": "geojson:LineString",
"MultiLineString": "geojson:MultiLineString",
"MultiPoint": "geojson:MultiPoint",
"MultiPolygon": "geojson:MultiPolygon",
"Point": "geojson:Point",
"Polygon": "geojson:Polygon",
"bbox": {
"@container": "@list",
"@id": "geojson:bbox"
},
"coordinates": {
"@container": "@list",
"@id": "geojson:coordinates"
},
"features": {
"@container": "@set",
"@id": "geojson:features"
},
"geometry": "geojson:geometry",
"id": "@id",
"properties": "geojson:properties",
"type": "@type",
"description": "http://purl.org/dc/terms/description",
"title": "http://purl.org/dc/terms/title"
}
}

View file

@ -0,0 +1,45 @@
// Package gotosocial contains terms for the GoToSocial namespace.
package gotosocial
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://gotosocial.org/ns"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = IRI + "#"
const (
// Always is an IRI, either as a string or as an object with an
// id property.
Always = Namespace + "always"
// ApprovalRequired is an IRI, either as a string or as an object with an
// id property.
ApprovalRequired = Namespace + "approvalRequired"
// ApprovedBy is an IRI, either as a string or as an object with an
// id property.
ApprovedBy = Namespace + "approvedBy"
// CanAnnounce is an IRI, either as a string or as an object with an
// id property.
CanAnnounce = Namespace + "canAnnounce"
// CanLike is an IRI, either as a string or as an object with an
// id property.
CanLike = Namespace + "canLike"
// CanReply is an IRI, either as a string or as an object with an
// id property.
CanReply = Namespace + "canReply"
// InteractionPolicy is an IRI, either as a string or as an object with an
// id property.
InteractionPolicy = Namespace + "interactionPolicy"
// TypeAnnounceApproval is a possible value for the type property.
TypeAnnounceApproval = Namespace + "AnnounceApproval"
// TypeLikeApproval is a possible value for the type property.
TypeLikeApproval = Namespace + "LikeApproval"
// TypeReplyApproval is a possible value for the type property.
TypeReplyApproval = Namespace + "ReplyApproval"
)

View file

@ -0,0 +1,36 @@
{
"@context": {
"gts": "https://gotosocial.org/ns#",
"LikeApproval": "gts:LikeApproval",
"ReplyApproval": "gts:ReplyApproval",
"AnnounceApproval": "gts:AnnounceApproval",
"interactionPolicy": {
"@id": "gts:interactionPolicy",
"@type": "@id"
},
"canLike": {
"@id": "gts:canLike",
"@type": "@id"
},
"canReply": {
"@id": "gts:canReply",
"@type": "@id"
},
"canAnnounce": {
"@id": "gts:canAnnounce",
"@type": "@id"
},
"always": {
"@id": "gts:always",
"@type": "@id"
},
"approvalRequired": {
"@id": "gts:approvalRequired",
"@type": "@id"
},
"approvedBy": {
"@id": "gts:approvedBy",
"@type": "@id"
}
}
}

View file

@ -0,0 +1,29 @@
// Package litepub contains terms for the Litepub namespace.
package litepub
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
//go:embed litepub-0.1.jsonld
var ContextDocument1dot0 []byte
// IRI is the remote context IRI.
const IRI = "https://litepub.social/litepub/context.jsonld"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "http://litepub.social/ns#"
const (
Capabilities = Namespace + "capabilities"
DirectMessage = Namespace + "directMessage"
FormerRepresentations = Namespace + "formerRepresentations"
Invisible = Namespace + "invisible"
ListMessage = Namespace + "listMessage"
OauthRegistrationEndpoint = Namespace + "oauthRegistrationEndpoint"
TypeChatMessage = Namespace + "ChatMessage"
TypeEmojiReact = Namespace + "EmojiReact"
)

View file

@ -0,0 +1,23 @@
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"PropertyValue": "schema:PropertyValue",
"atomUri": "ostatus:atomUri",
"conversation": {
"@id": "ostatus:conversation",
"@type": "@id"
},
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"ostatus": "http://ostatus.org#",
"schema": "http://schema.org/",
"toot": "http://joinmastodon.org/ns#",
"totalItems": "as:totalItems",
"value": "schema:value",
"sensitive": "as:sensitive"
}
]
}

View file

@ -0,0 +1,51 @@
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"ChatMessage": "litepub:ChatMessage",
"Emoji": "toot:Emoji",
"EmojiReact": "litepub:EmojiReact",
"Hashtag": "as:Hashtag",
"PropertyValue": "schema:PropertyValue",
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"atomUri": "ostatus:atomUri",
"capabilities": "litepub:capabilities",
"contentMap": {
"@container": "@language",
"@id": "as:content"
},
"conversation": {
"@id": "ostatus:conversation",
"@type": "@id"
},
"directMessage": "litepub:directMessage",
"discoverable": "toot:discoverable",
"fedibird": "http://fedibird.com/ns#",
"formerRepresentations": "litepub:formerRepresentations",
"invisible": "litepub:invisible",
"listMessage": {
"@id": "litepub:listMessage",
"@type": "@id"
},
"litepub": "http://litepub.social/ns#",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"misskey": "https://misskey-hub.net/ns#",
"oauthRegistrationEndpoint": {
"@id": "litepub:oauthRegistrationEndpoint",
"@type": "@id"
},
"ostatus": "http://ostatus.org#",
"quoteUri": "fedibird:quoteUri",
"quoteUrl": "as:quoteUrl",
"schema": "http://schema.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"value": "schema:value",
"vcard": "http://www.w3.org/2006/vcard/ns#"
}
]
}

View file

@ -0,0 +1,20 @@
// Package mastodon contains terms for the toot namespace.
package mastodon
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "http://joinmastodon.org/ns#"
const (
AttributionDomains = Namespace + "attributionDomains"
Blurhash = Namespace + "blurhash"
Discoverable = Namespace + "discoverable"
Featured = Namespace + "featured"
FeaturedTags = Namespace + "featuredTags"
FocalPoint = Namespace + "focalPoint"
Indexable = Namespace + "indexable"
Memorial = Namespace + "memorial"
Suspended = Namespace + "suspended"
VotersCount = Namespace + "votersCount"
TypeEmoji = Namespace + "Emoji"
TypeIdentityProof = Namespace + "IdentityProof"
)

View file

@ -0,0 +1,11 @@
// Package ostatus contains terms for the Ostatus.org namespace.
package ostatus
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "http://ostatus.org#"
const (
AtomURI = Namespace + "atomUri"
Conversation = Namespace + "conversation"
InReplyToAtomURI = Namespace + "inReplyToAtomUri"
)

View file

@ -0,0 +1,29 @@
// Package schema contains terms for the Schema.org namespace.
package schema
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "http://schema.org/"
const (
About = Namespace + "about"
Address = Namespace + "address"
AddressCountry = Namespace + "addressCountry"
AddressLocality = Namespace + "addressLocality"
AddressRegion = Namespace + "addressRegion"
Description = Namespace + "description"
Email = Namespace + "email"
FamilyName = Namespace + "familyName"
GivenNaame = Namespace + "givenName"
Image = Namespace + "image"
Member = Namespace + "member"
MemberOf = Namespace + "memberOf"
Name = Namespace + "name"
PostalCode = Namespace + "postalCode"
StreetAddress = Namespace + "streetAddress"
TypePropertyValue = Namespace + "PropertyValue"
TypeOrganization = Namespace + "Organization"
TypePerson = Namespace + "Person"
TypePostalAddress = Namespace + "PostalAddress"
URL = Namespace + "url"
Value = Namespace + "value"
)

View file

@ -0,0 +1,365 @@
// Package activitystreams contains terms for the ActivityStreams namespace.
//
// It also includes extensions.
package activitystreams
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://www.w3.org/ns/activitystreams"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = IRI + "#"
// From the normative context definition.
const (
// Accuracy is an xml:float, an IEEE single-precision 32-bit floating point
// value equivalent to a Go float32.
Accuracy = Namespace + "accuracy"
// Actor is an IRI, either as a string or as an object with an id property.
Actor = Namespace + "actor"
// AlsoKnownAs is an IRI, either as a string or as an object with an id
// property.
AlsoKnownAs = Namespace + "alsoKnownAs"
// Altitude is an xml:float, an IEEE single-precision 32-bit floating point
// value equivalent to a Go float32.
Altitude = Namespace + "altitude"
// AnyOf is an IRI, either as a string or as an object with an id property.
AnyOf = Namespace + "anyOf"
// Attachment is an IRI, either as a string or as an object with an id
// property.
Attachment = Namespace + "attachment"
// AttributedTo is an IRI, either as a string or as an object with an id
// property.
AttributedTo = Namespace + "attributedTo"
// Audience is an IRI, either as a string or as an object with an id
// property.
Audience = Namespace + "audience"
// Bcc is an IRI, either as a string or as an object with an id property.
Bcc = Namespace + "bcc"
// Bto is an IRI, either as a string or as an object with an id property.
Bto = Namespace + "bto"
// Cc is an IRI, either as a string or as an object with an id property.
Cc = Namespace + "cc"
// Closed is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Closed = Namespace + "closed"
// Content is a string.
Content = Namespace + "content"
// Context is an IRI, either as a string or as an object with an id
// property.
Context = Namespace + "context"
// Current is an IRI, either as a string or as an object with an id
// property.
Current = Namespace + "current"
// Deleted is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Deleted = Namespace + "deleted"
// Describes is an IRI, either as a string or as an object with an id
// property.
Describes = Namespace + "describes"
// Duration is an xml:duration and does not have a Go equivalent, but can be
// handled as a string.
Duration = Namespace + "duration"
// EndTime is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
EndTime = Namespace + "endTime"
// Endpoints is an IRI, either as a string or as an object with an id
// property.
Endpoints = Namespace + "endpoints"
// First is an IRI, either as a string or as an object with an id property.
First = Namespace + "first"
// Followers is an IRI, either as a string or as an object with an id
// property.
Followers = Namespace + "followers"
// Following is an IRI, either as a string or as an object with an id
// property.
Following = Namespace + "following"
// FormerType is an IRI, either as a string or as an object with an id
// property.
FormerType = Namespace + "formerType"
// Generator is an IRI, either as a string or as an object with an id
// property.
Generator = Namespace + "generator"
// Height is an xml:nonNegativeInteger, an "infinite size" integer. The XML
// specification requires you to at least accept numbers with up to 16
// digits. A Go uint64 may be sufficient depending on your usage. Remember
// that you can only safely express up to 53-bit precision integers this way
// since JSON treats integers as floats. For bigger values you'll need a
// string.
Height = Namespace + "height"
// Href is an IRI, either as a string or as an object with an id property.
Href = Namespace + "href"
// Hreflang is a string.
Hreflang = Namespace + "hreflang"
// Icon is an IRI, either as a string or as an object with an id property.
Icon = Namespace + "icon"
// Image is an IRI, either as a string or as an object with an id property.
Image = Namespace + "image"
// InReplyTo is an IRI, either as a string or as an object with an id
// property.
InReplyTo = Namespace + "inReplyTo"
// Instrument is an IRI, either as a string or as an object with an id
// property.
Instrument = Namespace + "instrument"
// Items is an IRI, either as a string or as an object with an id property.
Items = Namespace + "items"
// Last is an IRI, either as a string or as an object with an id property.
Last = Namespace + "last"
// Latitude is an xml:float, an IEEE single-precision 32-bit floating point
// value equivalent to a Go float32.
Latitude = Namespace + "latitude"
// Liked is an IRI, either as a string or as an object with an id property.
Liked = Namespace + "liked"
// Likes is an IRI, either as a string or as an object with an id property.
Likes = Namespace + "likes"
// Location is an IRI, either as a string or as an object with an id
// property.
Location = Namespace + "location"
// Longitude is an xml:float, an IEEE single-precision 32-bit floating point
// value equivalent to a Go float32.
Longitude = Namespace + "longitude"
// MediaType is a string.
MediaType = Namespace + "mediaType"
// Name is a string.
Name = Namespace + "name"
// Next is an IRI, either as a string or as an object with an id property.
Next = Namespace + "next"
// OauthAuthzEndpoint is an IRI, either as a string or as an object
// with an id property.
OauthAuthzEndpoint = Namespace + "oauthAuthorizationEndpoint"
// OauthTokenEndpoint is an IRI, either as a string or as an object with an
// id property.
OauthTokenEndpoint = Namespace + "oauthTokenEndpoint"
// Object is an IRI, either as a string or as an object with an id property.
Object = Namespace + "object"
// OneOf is an IRI, either as a string or as an object with an id property.
OneOf = Namespace + "oneOf"
// OrderedItems is an IRI, either as a string or as an object with an id
// property.
OrderedItems = Namespace + "items"
// Origin is an IRI, either as a string or as an object with an id property.
Origin = Namespace + "origin"
// Outbox is an IRI, either as a string or as an object with an id property.
Outbox = Namespace + "outbox"
// PartOf is an IRI, either as a string or as an object with an id property.
PartOf = Namespace + "partOf"
// PreferredUsername is a string.
PreferredUsername = Namespace + "preferredUsername"
// Prev is an IRI, either as a string or as an object with an id property.
Prev = Namespace + "prev"
// Preview is an IRI, either as a string or as an object with an id
// property.
Preview = Namespace + "preview"
// ProvideClientKey is an IRI, either as a string or as an object with an id
// property.
ProvideClientKey = Namespace + "provideClientKey"
// ProxyURL is an IRI, either as a string or as an object with an id
// property.
ProxyURL = Namespace + "proxyUrl"
// PublicCollection represents the Public collection, aka everyone. Use it
// as a value in the [Audience], [To] and [Cc] poperties.
PublicCollection = Namespace + "Public"
// Published is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Published = Namespace + "published"
// Radius is an xml:float, an IEEE single-precision 32-bit floating point
// value equivalent to a Go float32.
Radius = Namespace + "radius"
// Rel is a string.
Rel = Namespace + "rel"
// Relationship is an IRI, either as a string or as an object with an id
// property.
Relationship = Namespace + "relationship"
// RelationshipIsContact is a possible value for a relationship property.
RelationshipIsContact = Namespace + "IsContact"
// RelationshipIsFollowedBy is a possible value for a relationship property.
RelationshipIsFollowedBy = Namespace + "IsFollowedBy"
// RelationshipIsFollowing is a possible value for a relationship property.
RelationshipIsFollowing = Namespace + "IsFollowing"
// RelationshipIsMember is a possible value for a relationship property.
RelationshipIsMember = Namespace + "IsMember"
// Replies is an IRI, either as a string or as an object with an id
// property.
Replies = Namespace + "replies"
// Result is an IRI, either as a string or as an object with an id property.
Result = Namespace + "result"
// SharedInbox is an IRI, either as a string or as an object with an id
// property.
SharedInbox = Namespace + "sharedInbox"
// Shares is an IRI, either as a string or as an object with an id property.
Shares = Namespace + "shares"
// SignClientKey is an IRI, either as a string or as an object with an id
// property.
SignClientKey = Namespace + "signClientKey"
// Source is a string.
Source = Namespace + "source"
// StartIndex is an xml:nonNegativeInteger, an "infinite size" integer. The
// XML specification requires you to at least accept numbers with up to 16
// digits. A Go uint64 may be sufficient depending on your usage. Remember
// that you can only safely express up to 53-bit precision integers this way
// since JSON treats integers as floats. For bigger values you'll need a
// string.
StartIndex = Namespace + "startIndex"
// StartTime is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
StartTime = Namespace + "startTime"
// Streams is an IRI, either as a string or as an object with an id
// property.
Streams = Namespace + "streams"
// Subject is an IRI, either as a string or as an object with an id
// property.
Subject = Namespace + "subject"
// Summary is a string.
Summary = Namespace + "summary"
// Tag is an IRI, either as a string or as an object with an id property.
Tag = Namespace + "tag"
// Target is an IRI, either as a string or as an object with an id property.
Target = Namespace + "target"
// To is an IRI, either as a string or as an object with an id property.
To = Namespace + "to"
// TotalItems is an xml:nonNegativeInteger, an "infinite size" integer. The
// XML specification requires you to at least accept numbers with up to 16
// digits. A Go uint64 may be sufficient depending on your usage. Remember
// that you can only safely express up to 53-bit precision integers this way
// since JSON treats integers as floats. For bigger values you'll need a
// string.
TotalItems = Namespace + "totalItems"
// TypeAccept is a possible value for the type property.
TypeAccept = Namespace + "Accept"
// TypeActivity is a possible value for the type property.
TypeActivity = Namespace + "Activity"
// TypeAdd is a possible value for the type property.
TypeAdd = Namespace + "Add"
// TypeAnnounce is a possible value for the type property.
TypeAnnounce = Namespace + "Announce"
// TypeApplication is a possible value for the type property.
TypeApplication = Namespace + "Application"
// TypeArrive is a possible value for the type property.
TypeArrive = Namespace + "Arrive"
// TypeArticle is a possible value for the type property.
TypeArticle = Namespace + "Article"
// TypeAudio is a possible value for the type property.
TypeAudio = Namespace + "Audio"
// TypeBlock is a possible value for the type property.
TypeBlock = Namespace + "Block"
// TypeCollection is a possible value for the type property.
TypeCollection = Namespace + "Collection"
// TypeCollectionPage is a possible value for the type property.
TypeCollectionPage = Namespace + "CollectionPage"
// TypeCreate is a possible value for the type property.
TypeCreate = Namespace + "Create"
// TypeDelete is a possible value for the type property.
TypeDelete = Namespace + "Delete"
// TypeDislike is a possible value for the type property.
TypeDislike = Namespace + "Dislike"
// TypeDocument is a possible value for the type property.
TypeDocument = Namespace + "Document"
// TypeEvent is a possible value for the type property.
TypeEvent = Namespace + "Event"
// TypeFlag is a possible value for the type property.
TypeFlag = Namespace + "Flag"
// TypeFollow is a possible value for the type property.
TypeFollow = Namespace + "Follow"
// TypeGroup is a possible value for the type property.
TypeGroup = Namespace + "Group"
// TypeIgnore is a possible value for the type property.
TypeIgnore = Namespace + "Ignore"
// TypeImage is a possible value for the type property.
TypeImage = Namespace + "Image"
// TypeIntransitiveActivity is a possible value for the type property.
TypeIntransitiveActivity = Namespace + "IntransitiveActivity"
// TypeInvite is a possible value for the type property.
TypeInvite = Namespace + "Invite"
// TypeJoin is a possible value for the type property.
TypeJoin = Namespace + "Join"
// TypeLeave is a possible value for the type property.
TypeLeave = Namespace + "Leave"
// TypeLike is a possible value for the type property.
TypeLike = Namespace + "Like"
// TypeLink is a possible value for the type property.
TypeLink = Namespace + "Link"
// TypeListen is a possible value for the type property.
TypeListen = Namespace + "Listen"
// TypeMention is a possible value for the type property.
TypeMention = Namespace + "Mention"
// TypeMove is a possible value for the type property.
TypeMove = Namespace + "Move"
// TypeNote is a possible value for the type property.
TypeNote = Namespace + "Note"
// TypeObject is a possible value for the type property.
TypeObject = Namespace + "Object"
// TypeOffer is a possible value for the type property.
TypeOffer = Namespace + "Offer"
// TypeOrderedCollection is a possible value for the type property.
TypeOrderedCollection = Namespace + "OrderedCollection"
// TypeOrderedCollectionPage is a possible value for the type property.
TypeOrderedCollectionPage = Namespace + "OrderedCollectionPage"
// TypeOrganization is a possible value for the type property.
TypeOrganization = Namespace + "Organization"
// TypePage is a possible value for the type property.
TypePage = Namespace + "Page"
// TypePerson is a possible value for the type property.
TypePerson = Namespace + "Person"
// TypePlace is a possible value for the type property.
TypePlace = Namespace + "Place"
// TypeProfile is a possible value for the type property.
TypeProfile = Namespace + "Profile"
// TypeQuestion is a possible value for the type property.
TypeQuestion = Namespace + "Question"
// TypeRead is a possible value for the type property.
TypeRead = Namespace + "Read"
// TypeReject is a possible value for the type property.
TypeReject = Namespace + "Reject"
// TypeRelationship is a possible value for the type property.
TypeRelationship = Namespace + "Relationship"
// TypeRemove is a possible value for the type property.
TypeRemove = Namespace + "Remove"
// TypeService is a possible value for the type property.
TypeService = Namespace + "Service"
// TypeTentativeAccept is a possible value for the type property.
TypeTentativeAccept = Namespace + "TentativeAccept"
// TypeTentativeReject is a possible value for the type property.
TypeTentativeReject = Namespace + "TentativeReject"
// TypeTombstone is a possible value for the type property.
TypeTombstone = Namespace + "Tombstone"
// TypeTravel is a possible value for the type property.
TypeTravel = Namespace + "Travel"
// TypeUndo is a possible value for the type property.
TypeUndo = Namespace + "Undo"
// TypeUpdate is a possible value for the type property.
TypeUpdate = Namespace + "Update"
// TypeVideo is a possible value for the type property.
TypeVideo = Namespace + "Video"
// TypeView is a possible value for the type property.
TypeView = Namespace + "View"
// URL is an IRI, either as a string or as an object with an id property.
URL = Namespace + "url"
// Units is a string.
Units = Namespace + "units"
// Updated is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Updated = Namespace + "updated"
// UploadMedia is an IRI, either as a string or as an object with an id
// property.
UploadMedia = Namespace + "uploadMedia"
// Width is an xml:nonNegativeInteger, an "infinite size" integer. The XML
// specification requires you to at least accept numbers with up to 16
// digits. A Go uint64 may be sufficient depending on your usage. Remember
// that you can only safely express up to 53-bit precision integers this way
// since JSON treats integers as floats. For bigger values you'll need a
// string.
Width = Namespace + "width"
)
// Extensions: https://www.w3.org/wiki/Activity_Streams_extensions.
const (
// ManuallyApprovesFollowers is an xml:boolean.
ManuallyApprovesFollowers = Namespace + "manuallyApprovesFollowers"
// MovedTo is an IRI, either as a string or as an object with an id
// property.
MovedTo = Namespace + "movedTo"
// Sensitive is an xml:boolean.
Sensitive = Namespace + "sensitive"
// TypeHashtag is a possible value for the type property.
TypeHashtag = Namespace + "Hashtag"
)

View file

@ -0,0 +1,379 @@
{
"@context": {
"@vocab": "_:",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"as": "https://www.w3.org/ns/activitystreams#",
"ldp": "http://www.w3.org/ns/ldp#",
"vcard": "http://www.w3.org/2006/vcard/ns#",
"id": "@id",
"type": "@type",
"Accept": "as:Accept",
"Activity": "as:Activity",
"IntransitiveActivity": "as:IntransitiveActivity",
"Add": "as:Add",
"Announce": "as:Announce",
"Application": "as:Application",
"Arrive": "as:Arrive",
"Article": "as:Article",
"Audio": "as:Audio",
"Block": "as:Block",
"Collection": "as:Collection",
"CollectionPage": "as:CollectionPage",
"Relationship": "as:Relationship",
"Create": "as:Create",
"Delete": "as:Delete",
"Dislike": "as:Dislike",
"Document": "as:Document",
"Event": "as:Event",
"Follow": "as:Follow",
"Flag": "as:Flag",
"Group": "as:Group",
"Ignore": "as:Ignore",
"Image": "as:Image",
"Invite": "as:Invite",
"Join": "as:Join",
"Leave": "as:Leave",
"Like": "as:Like",
"Link": "as:Link",
"Mention": "as:Mention",
"Note": "as:Note",
"Object": "as:Object",
"Offer": "as:Offer",
"OrderedCollection": "as:OrderedCollection",
"OrderedCollectionPage": "as:OrderedCollectionPage",
"Organization": "as:Organization",
"Page": "as:Page",
"Person": "as:Person",
"Place": "as:Place",
"Profile": "as:Profile",
"Question": "as:Question",
"Reject": "as:Reject",
"Remove": "as:Remove",
"Service": "as:Service",
"TentativeAccept": "as:TentativeAccept",
"TentativeReject": "as:TentativeReject",
"Tombstone": "as:Tombstone",
"Undo": "as:Undo",
"Update": "as:Update",
"Video": "as:Video",
"View": "as:View",
"Listen": "as:Listen",
"Read": "as:Read",
"Move": "as:Move",
"Travel": "as:Travel",
"IsFollowing": "as:IsFollowing",
"IsFollowedBy": "as:IsFollowedBy",
"IsContact": "as:IsContact",
"IsMember": "as:IsMember",
"subject": {
"@id": "as:subject",
"@type": "@id"
},
"relationship": {
"@id": "as:relationship",
"@type": "@id"
},
"actor": {
"@id": "as:actor",
"@type": "@id"
},
"attributedTo": {
"@id": "as:attributedTo",
"@type": "@id"
},
"attachment": {
"@id": "as:attachment",
"@type": "@id"
},
"bcc": {
"@id": "as:bcc",
"@type": "@id"
},
"bto": {
"@id": "as:bto",
"@type": "@id"
},
"cc": {
"@id": "as:cc",
"@type": "@id"
},
"context": {
"@id": "as:context",
"@type": "@id"
},
"current": {
"@id": "as:current",
"@type": "@id"
},
"first": {
"@id": "as:first",
"@type": "@id"
},
"generator": {
"@id": "as:generator",
"@type": "@id"
},
"icon": {
"@id": "as:icon",
"@type": "@id"
},
"image": {
"@id": "as:image",
"@type": "@id"
},
"inReplyTo": {
"@id": "as:inReplyTo",
"@type": "@id"
},
"items": {
"@id": "as:items",
"@type": "@id"
},
"instrument": {
"@id": "as:instrument",
"@type": "@id"
},
"orderedItems": {
"@id": "as:items",
"@type": "@id",
"@container": "@list"
},
"last": {
"@id": "as:last",
"@type": "@id"
},
"location": {
"@id": "as:location",
"@type": "@id"
},
"next": {
"@id": "as:next",
"@type": "@id"
},
"object": {
"@id": "as:object",
"@type": "@id"
},
"oneOf": {
"@id": "as:oneOf",
"@type": "@id"
},
"anyOf": {
"@id": "as:anyOf",
"@type": "@id"
},
"closed": {
"@id": "as:closed",
"@type": "xsd:dateTime"
},
"origin": {
"@id": "as:origin",
"@type": "@id"
},
"accuracy": {
"@id": "as:accuracy",
"@type": "xsd:float"
},
"prev": {
"@id": "as:prev",
"@type": "@id"
},
"preview": {
"@id": "as:preview",
"@type": "@id"
},
"replies": {
"@id": "as:replies",
"@type": "@id"
},
"result": {
"@id": "as:result",
"@type": "@id"
},
"audience": {
"@id": "as:audience",
"@type": "@id"
},
"partOf": {
"@id": "as:partOf",
"@type": "@id"
},
"tag": {
"@id": "as:tag",
"@type": "@id"
},
"target": {
"@id": "as:target",
"@type": "@id"
},
"to": {
"@id": "as:to",
"@type": "@id"
},
"url": {
"@id": "as:url",
"@type": "@id"
},
"altitude": {
"@id": "as:altitude",
"@type": "xsd:float"
},
"content": "as:content",
"contentMap": {
"@id": "as:content",
"@container": "@language"
},
"name": "as:name",
"nameMap": {
"@id": "as:name",
"@container": "@language"
},
"duration": {
"@id": "as:duration",
"@type": "xsd:duration"
},
"endTime": {
"@id": "as:endTime",
"@type": "xsd:dateTime"
},
"height": {
"@id": "as:height",
"@type": "xsd:nonNegativeInteger"
},
"href": {
"@id": "as:href",
"@type": "@id"
},
"hreflang": "as:hreflang",
"latitude": {
"@id": "as:latitude",
"@type": "xsd:float"
},
"longitude": {
"@id": "as:longitude",
"@type": "xsd:float"
},
"mediaType": "as:mediaType",
"published": {
"@id": "as:published",
"@type": "xsd:dateTime"
},
"radius": {
"@id": "as:radius",
"@type": "xsd:float"
},
"rel": "as:rel",
"startIndex": {
"@id": "as:startIndex",
"@type": "xsd:nonNegativeInteger"
},
"startTime": {
"@id": "as:startTime",
"@type": "xsd:dateTime"
},
"summary": "as:summary",
"summaryMap": {
"@id": "as:summary",
"@container": "@language"
},
"totalItems": {
"@id": "as:totalItems",
"@type": "xsd:nonNegativeInteger"
},
"units": "as:units",
"updated": {
"@id": "as:updated",
"@type": "xsd:dateTime"
},
"width": {
"@id": "as:width",
"@type": "xsd:nonNegativeInteger"
},
"describes": {
"@id": "as:describes",
"@type": "@id"
},
"formerType": {
"@id": "as:formerType",
"@type": "@id"
},
"deleted": {
"@id": "as:deleted",
"@type": "xsd:dateTime"
},
"inbox": {
"@id": "ldp:inbox",
"@type": "@id"
},
"outbox": {
"@id": "as:outbox",
"@type": "@id"
},
"following": {
"@id": "as:following",
"@type": "@id"
},
"followers": {
"@id": "as:followers",
"@type": "@id"
},
"streams": {
"@id": "as:streams",
"@type": "@id"
},
"preferredUsername": "as:preferredUsername",
"endpoints": {
"@id": "as:endpoints",
"@type": "@id"
},
"uploadMedia": {
"@id": "as:uploadMedia",
"@type": "@id"
},
"proxyUrl": {
"@id": "as:proxyUrl",
"@type": "@id"
},
"liked": {
"@id": "as:liked",
"@type": "@id"
},
"oauthAuthorizationEndpoint": {
"@id": "as:oauthAuthorizationEndpoint",
"@type": "@id"
},
"oauthTokenEndpoint": {
"@id": "as:oauthTokenEndpoint",
"@type": "@id"
},
"provideClientKey": {
"@id": "as:provideClientKey",
"@type": "@id"
},
"signClientKey": {
"@id": "as:signClientKey",
"@type": "@id"
},
"sharedInbox": {
"@id": "as:sharedInbox",
"@type": "@id"
},
"Public": {
"@id": "as:Public",
"@type": "@id"
},
"source": "as:source",
"likes": {
"@id": "as:likes",
"@type": "@id"
},
"shares": {
"@id": "as:shares",
"@type": "@id"
},
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
}
}
}

View file

@ -0,0 +1,19 @@
{
"@context": {
"as": "https://www.w3.org/ns/activitystreams#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"Hashtag": "as:Hashtag",
"manuallyApprovesFollowers": {
"@id": "as:manuallyApprovesFollowers",
"@type": "xsd:boolean"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
},
"sensitive": {
"@id": "as:sensitive",
"@type": "xsd:boolean"
}
}
}

View file

@ -0,0 +1,10 @@
// Package ldp contains terms for the Linked Data Platform namespace.
package ldp
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "https://www.w3.org/ns/ldp#"
const (
// Inbox is an IRI, either as a string or as an object with an id property.
Inbox = Namespace + "inbox"
)

View file

@ -0,0 +1,37 @@
// Package credv1 contains terms for the W3ID Credentials namespace.
package credv1
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://w3id.org/credentials/v1"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "https://w3id.org/credentials#"
const (
// Claim is an IRI, either as a string or as an object with an
// id property.
Claim = Namespace + "claim"
// Credential is an IRI, either as a string or as an object with an
// id property.
Credential = Namespace + "credential"
// Issued is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Issued = Namespace + "issued"
// Issuer is an IRI, either as a string or as an object with an
// id property.
Issuer = Namespace + "issuer"
// Recipient is an IRI, either as a string or as an object with an
// id property.
Recipient = Namespace + "recipient"
// ReferenceID is a string.
ReferenceID = Namespace + "referenceId"
TypeCredential = Namespace + "Credential"
// TypeCryptographicKeyCredential is a possible value for the type property.
TypeCryptographicKeyCredential = Namespace + "CryptographicKeyCredential"
)

View file

@ -0,0 +1,78 @@
{
"@context": {
"id": "@id",
"type": "@type",
"cred": "https://w3id.org/credentials#",
"dc": "http://purl.org/dc/terms/",
"sec": "https://w3id.org/security#",
"schema": "http://schema.org/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"Identity": "https://w3id.org/identity#Identity",
"claim": {
"@id": "cred:claim",
"@type": "@id"
},
"credential": {
"@id": "cred:credential",
"@type": "@id"
},
"issued": {
"@id": "cred:issued",
"@type": "xsd:dateTime"
},
"issuer": {
"@id": "cred:issuer",
"@type": "@id"
},
"recipient": {
"@id": "cred:recipient",
"@type": "@id"
},
"referenceId": "cred:referenceId",
"Credential": "cred:Credential",
"CryptographicKeyCredential": "cred:CryptographicKeyCredential",
"created": {
"@id": "dc:created",
"@type": "xsd:dateTime"
},
"creator": {
"@id": "dc:creator",
"@type": "@id"
},
"domain": "sec:domain",
"expires": {
"@id": "sec:expiration",
"@type": "xsd:dateTime"
},
"nonce": "sec:nonce",
"normalizationAlgorithm": "sec:normalizationAlgorithm",
"owner": {
"@id": "sec:owner",
"@type": "@id"
},
"privateKey": {
"@id": "sec:privateKey",
"@type": "@id"
},
"privateKeyPem": "sec:privateKeyPem",
"publicKey": {
"@id": "sec:publicKey",
"@type": "@id"
},
"publicKeyPem": "sec:publicKeyPem",
"publicKeyService": {
"@id": "sec:publicKeyService",
"@type": "@id"
},
"revoked": {
"@id": "sec:revoked",
"@type": "xsd:dateTime"
},
"signature": "sec:signature",
"signatureAlgorithm": "sec:signatureAlgorithm",
"signatureValue": "sec:signatureValue",
"CryptographicKey": "sec:Key",
"GraphSignature2012": "sec:GraphSignature2012",
"LinkedDataSignature2015": "sec:LinkedDataSignature2015"
}
}

View file

@ -0,0 +1,26 @@
// Package identityv1 contains terms for the W3ID Identity namespace.
package identityv1
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://w3id.org/identity/v1"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "https://w3id.org/identity#"
const (
// IdentityService is an IRI, either as a string or as an object with an
// id property.
IdentityService = Namespace + "identityService"
// IDP is an IRI, either as a string or as an object with an
// id property.
IDP = Namespace + "idp"
// TypeIdentity is a possible value for the type property.
TypeIdentity = Namespace + "Identity"
)

View file

@ -0,0 +1,152 @@
{
"@context": {
"id": "@id",
"type": "@type",
"cred": "https://w3id.org/credentials#",
"dc": "http://purl.org/dc/terms/",
"identity": "https://w3id.org/identity#",
"perm": "https://w3id.org/permissions#",
"ps": "https://w3id.org/payswarm#",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"sec": "https://w3id.org/security#",
"schema": "http://schema.org/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"Group": "https://www.w3.org/ns/activitystreams#Group",
"claim": {
"@id": "cred:claim",
"@type": "@id"
},
"credential": {
"@id": "cred:credential",
"@type": "@id"
},
"issued": {
"@id": "cred:issued",
"@type": "xsd:dateTime"
},
"issuer": {
"@id": "cred:issuer",
"@type": "@id"
},
"recipient": {
"@id": "cred:recipient",
"@type": "@id"
},
"Credential": "cred:Credential",
"CryptographicKeyCredential": "cred:CryptographicKeyCredential",
"about": {
"@id": "schema:about",
"@type": "@id"
},
"address": {
"@id": "schema:address",
"@type": "@id"
},
"addressCountry": "schema:addressCountry",
"addressLocality": "schema:addressLocality",
"addressRegion": "schema:addressRegion",
"comment": "rdfs:comment",
"created": {
"@id": "dc:created",
"@type": "xsd:dateTime"
},
"creator": {
"@id": "dc:creator",
"@type": "@id"
},
"description": "schema:description",
"email": "schema:email",
"familyName": "schema:familyName",
"givenName": "schema:givenName",
"image": {
"@id": "schema:image",
"@type": "@id"
},
"label": "rdfs:label",
"name": "schema:name",
"postalCode": "schema:postalCode",
"streetAddress": "schema:streetAddress",
"title": "dc:title",
"url": {
"@id": "schema:url",
"@type": "@id"
},
"Person": "schema:Person",
"PostalAddress": "schema:PostalAddress",
"Organization": "schema:Organization",
"identityService": {
"@id": "identity:identityService",
"@type": "@id"
},
"idp": {
"@id": "identity:idp",
"@type": "@id"
},
"Identity": "identity:Identity",
"paymentProcessor": "ps:processor",
"preferences": {
"@id": "ps:preferences",
"@type": "@vocab"
},
"cipherAlgorithm": "sec:cipherAlgorithm",
"cipherData": "sec:cipherData",
"cipherKey": "sec:cipherKey",
"digestAlgorithm": "sec:digestAlgorithm",
"digestValue": "sec:digestValue",
"domain": "sec:domain",
"expires": {
"@id": "sec:expiration",
"@type": "xsd:dateTime"
},
"initializationVector": "sec:initializationVector",
"member": {
"@id": "schema:member",
"@type": "@id"
},
"memberOf": {
"@id": "schema:memberOf",
"@type": "@id"
},
"nonce": "sec:nonce",
"normalizationAlgorithm": "sec:normalizationAlgorithm",
"owner": {
"@id": "sec:owner",
"@type": "@id"
},
"password": "sec:password",
"privateKey": {
"@id": "sec:privateKey",
"@type": "@id"
},
"privateKeyPem": "sec:privateKeyPem",
"publicKey": {
"@id": "sec:publicKey",
"@type": "@id"
},
"publicKeyPem": "sec:publicKeyPem",
"publicKeyService": {
"@id": "sec:publicKeyService",
"@type": "@id"
},
"revoked": {
"@id": "sec:revoked",
"@type": "xsd:dateTime"
},
"signature": "sec:signature",
"signatureAlgorithm": "sec:signatureAlgorithm",
"signatureValue": "sec:signatureValue",
"CryptographicKey": "sec:Key",
"EncryptedMessage": "sec:EncryptedMessage",
"GraphSignature2012": "sec:GraphSignature2012",
"LinkedDataSignature2015": "sec:LinkedDataSignature2015",
"accessControl": {
"@id": "perm:accessControl",
"@type": "@id"
},
"writePermission": {
"@id": "perm:writePermission",
"@type": "@id"
}
}
}

View file

@ -0,0 +1,94 @@
// Package secv1 contains terms for the W3ID Security namespace.
package secv1
import (
_ "embed"
)
//go:embed context.jsonld
var ContextDocument []byte
// IRI is the remote context IRI.
const IRI = "https://w3id.org/security/v1"
// Namespace is the IRI prefix used for terms defined in this namespace.
const Namespace = "https://w3id.org/security#"
const (
// AuthenticationTag is a string.
AuthenticationTag = Namespace + "authenticationTag"
// CanonicalizationAlgorithm is a string.
CanonicalizationAlgorithm = Namespace + "canonicalizationAlgorithm"
// CipherAlgorithm is a string.
CipherAlgorithm = Namespace + "cipherAlgorithm"
// CipherData is a string.
CipherData = Namespace + "cipherData"
// CipherKey is a string.
CipherKey = Namespace + "cipherKey"
// DigestAlgorithm is a string.
DigestAlgorithm = Namespace + "digestAlgorithm"
// DigestValue is a string.
DigestValue = Namespace + "digestValue"
// Domain is a string.
Domain = Namespace + "domain"
// EncryptionKey is a string.
EncryptionKey = Namespace + "encryptionKey"
// Expiration is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Expiration = Namespace + "expiration"
// Expires is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Expires = Namespace + "expiration"
// InitializationVector is a string.
InitializationVector = Namespace + "initializationVector"
// IterationCount is a string.
IterationCount = Namespace + "iterationCount"
// Nonce is a string.
Nonce = Namespace + "nonce"
// NormalizationAlgorithm is a string.
NormalizationAlgorithm = Namespace + "normalizationAlgorithm"
// Owner is an IRI, either as a string or as an object with an
// id property.
Owner = Namespace + "owner"
// Password is a string.
Password = Namespace + "password"
// PrivateKey is an IRI, either as a string or as an object with an
// id property.
PrivateKey = Namespace + "privateKey"
// PrivateKeyPem is a string.
PrivateKeyPem = Namespace + "privateKeyPem"
// PublicKey is an IRI, either as a string or as an object with an
// id property.
PublicKey = Namespace + "publicKey"
// PublicKeyBase58 is a string.
PublicKeyBase58 = Namespace + "publicKeyBase58"
// PublicKeyPem is a string.
PublicKeyPem = Namespace + "publicKeyPem"
// PublicKeyService is an IRI, either as a string or as an object with an
// id property.
PublicKeyService = Namespace + "publicKeyService"
// PublicKeyWif is a string.
PublicKeyWif = Namespace + "publicKeyWif"
// Revoked is an xml:dateTime, equivalent to a time.Date in RFC3339Nano.
Revoked = Namespace + "revoked"
// Salt is a string.
Salt = Namespace + "salt"
// Signature is a string.
Signature = Namespace + "signature"
// SignatureAlgorithm is a string.
SignatureAlgorithm = Namespace + "signingAlgorithm"
// SignatureValue is a string.
SignatureValue = Namespace + "signatureValue"
// TypeCryptographicKey is a possible value for the type property.
TypeCryptographicKey = Namespace + "Key"
// TypeEcdsaKoblitzSignature2016 is a possible value for the type property.
TypeEcdsaKoblitzSignature2016 = Namespace + "EcdsaKoblitzSignature2016"
// TypeEd25519Signature2018 is a possible value for the type property.
TypeEd25519Signature2018 = Namespace + "Ed25519Signature2018"
// TypeEncryptedMessage is a possible value for the type property.
TypeEncryptedMessage = Namespace + "EncryptedMessage"
// TypeGraphSignature2012 is a possible value for the type property.
TypeGraphSignature2012 = Namespace + "GraphSignature2012"
// TypeLinkedDataSignature2015 is a possible value for the type property.
TypeLinkedDataSignature2015 = Namespace + "LinkedDataSignature2015"
// TypeLinkedDataSignature2016 is a possible value for the type property.
TypeLinkedDataSignature2016 = Namespace + "LinkedDataSignature2016"
)

View file

@ -0,0 +1,74 @@
{
"@context": {
"id": "@id",
"type": "@type",
"dc": "http://purl.org/dc/terms/",
"sec": "https://w3id.org/security#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"EcdsaKoblitzSignature2016": "sec:EcdsaKoblitzSignature2016",
"Ed25519Signature2018": "sec:Ed25519Signature2018",
"EncryptedMessage": "sec:EncryptedMessage",
"GraphSignature2012": "sec:GraphSignature2012",
"LinkedDataSignature2015": "sec:LinkedDataSignature2015",
"LinkedDataSignature2016": "sec:LinkedDataSignature2016",
"CryptographicKey": "sec:Key",
"authenticationTag": "sec:authenticationTag",
"canonicalizationAlgorithm": "sec:canonicalizationAlgorithm",
"cipherAlgorithm": "sec:cipherAlgorithm",
"cipherData": "sec:cipherData",
"cipherKey": "sec:cipherKey",
"created": {
"@id": "dc:created",
"@type": "xsd:dateTime"
},
"creator": {
"@id": "dc:creator",
"@type": "@id"
},
"digestAlgorithm": "sec:digestAlgorithm",
"digestValue": "sec:digestValue",
"domain": "sec:domain",
"encryptionKey": "sec:encryptionKey",
"expiration": {
"@id": "sec:expiration",
"@type": "xsd:dateTime"
},
"expires": {
"@id": "sec:expiration",
"@type": "xsd:dateTime"
},
"initializationVector": "sec:initializationVector",
"iterationCount": "sec:iterationCount",
"nonce": "sec:nonce",
"normalizationAlgorithm": "sec:normalizationAlgorithm",
"owner": {
"@id": "sec:owner",
"@type": "@id"
},
"password": "sec:password",
"privateKey": {
"@id": "sec:privateKey",
"@type": "@id"
},
"privateKeyPem": "sec:privateKeyPem",
"publicKey": {
"@id": "sec:publicKey",
"@type": "@id"
},
"publicKeyBase58": "sec:publicKeyBase58",
"publicKeyPem": "sec:publicKeyPem",
"publicKeyWif": "sec:publicKeyWif",
"publicKeyService": {
"@id": "sec:publicKeyService",
"@type": "@id"
},
"revoked": {
"@id": "sec:revoked",
"@type": "xsd:dateTime"
},
"salt": "sec:salt",
"signature": "sec:signature",
"signatureAlgorithm": "sec:signingAlgorithm",
"signatureValue": "sec:signatureValue"
}
}