About the redaktor SkoHub-Vocab
/ repo
We had a short conversation in fedi and @acka47 wrote:
[…] For one, you should define your own namespace e.g. with w3id.org and set up a redirect for the vocab.
Yes, we will do, the static page is just to test. Had already mentioned it in A namespace for things defined in FEPs which might have some unneeded further info.
I am also interested in seeing some example data that shows how the vocab is intended to be used.
In 2 or 3 different ways
-
We will use it in the traditional way if an Actor joins a Creative Work project and defines the roles or if such a role is “offered” to an Actor. This is fine. Nothing else needed.
-
We would like to be able to describe the ActivityPub
attributedTo
andlocation
in depth without loosing compatibility to existing AP software. This will go to the attributedTo-widget which is used in the different redaktor/widgets for ActivityPubObject
types
…
So, if you haveattributedTo
for a low-budget movie like Harold und Maude (1971) - Full Cast & Crew - IMDb then you have 133 actor/role or actor/role/character relations in Cast and Crew.
But the ActivityPubattributedTo
can only have 133Actor
.
We do not want to duplicate well knownActor
and people should always talk about the same “Ruth Gordon” which means we can’t change the type of the (existing)Actor
.
So, if we write something like
{ "attributedTo": [{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Ruth Gordon plays Maude Chardin in “Harold and Maude (1971)”",
"id": "http://example.org/relation/123",
"type": ["Relationship", "Person","Note"],
"subject": "http://example.org/actor/RuthGordon",
"relationship": "http://example.org/relationship/leadPerforms",
"object": {
"type": ["redaktor:Character", "schema:Person"],
"name": "Maude",
"schema:givenName": "Maude",
"schema:fullName": "Chardin"
}
}, ...],
"context": {"id": "http://example.org/movie/wonderfulMovieId"}
}
then it would be somehow backward compatible.
A cheap software could simply render Note
with summary
(‘free text’)
Another software could link the Person
with the Actor
and use summary
While a generic, ActivityPub conformant software would understand Relationship
as well and so could link with the Actor
and use the label for relationship
(or the Roles, e.g. “Hal Ashby ist Regisseur” for Director) e.g. from wikidata in nearly every language of the planet.
And then decide how the object
is rendered which is independent and could then e.g. be linked to other movies [bad example here, think e.g. of M or James Bond …]
-
If anything can be in one place (the SKOS Vocab), then I would like to use it as well to be able to create reverse mappings internally to bridge incoming LD and plain-JSON data as e.g. from imdb or themoviedb …
This could for example be used to shareLink
with ActivityPub or for searching Internets.
Concrete examples:
Alyssa wants to share a Link
.
The redaktor mediaproxy will crawl it and directly fill out Alyssa’s post interface with Link+metadata, the infos about the link and really nice previews (node screenshot as fallback).
So the mediaproxy (depending on content-negotiation) transforms the link to ActivityPub markup. But the values come from a lot of different sources …
Let’s say, the proxy sees Content-Type : image/jpeg and goes through the image bit by bit the infos can be metadata which is not Linked Data or e.g. “well formed Adobe XMP” LD …
The mediaproxy can handle all the common media types (audio/ missing yet, coming soon) but also the other ActivityPub types like Article
or Page
.
If I’d have a reverse mapping saying property director
in wikidata expresses Director
in the Vocab then it would save me work and further queries.
Alyssa searches for a Movie title to attach/cite/context or announce/offer,rent/etc. the movie.
The starting point might to look if it exists in wikidata e.g. with fedi-mentioned python wikidata suggest and then if it is type Movie to query imdb and themoviedb and what is incoming is plain json then. It would be nice to map all the attribution-things …
Same for location
: If I am in my Beethovenstr., Dinslaken Observatory and take a photo of a moon crate, then I could blindly put both location in as:location
- but would it help?
I mean, a machine could reason that currently no human with camera or bot-camera is on moon but some are on planet earth including the Observatory and so it might be somehow possible to reason it for a stupid machine but it would be complicated.