RDF ontology for fanfiction tags that can be used across separated archives.
Separation of communities of (a) work hosting, (b) namespace authority(s) -- where synning/subtagging/metatagging is wrangled, (c) final determination about what a given tag is synned to (whether you want to to be categorized), which gets text-closeness suggestions by a wrangling databases's list of "observed tags" but is decided by the author (an uncategorizeable freeform being not even given the data of `<... tag-ident: "tagcomm:my-innovated-long-tag-which-tagcomm-hasn't-wrangled-yet-but-could" ... >`)
If you subscribe to RSS feeds (possibly WebSub-managed, for more scalable distribution) of various work-hosting archives you can filter on whatever tags yourself. Or someone injests the tagging metadata from a bunch of subscriptions and hosts the graph databases and a SPARQL search server for a section of the community.
@gaditb is this an intentional or unintentional rep for https://ns.1024.gdn/Tagging/
@gaditb more friendly discussion here: https://blog.ladys.computer/2023-05-26/federated_tagging/
@Lady It's definitely knowlingly downstream of it but I think putting emphsis on the nuances of the vocabulary is losing focus on the methods of using it and the specific, much more finite and "primarily like two different things, but a lot (and hopefully we can luck out and predict those two things in the design)", utility it will provide people.
And expects a larger-than-necessary amount of work for people wrangling a given tagset who just want, like, the tagging their community has around their specific kinks and fics to be useful to them, and okay if it isn't too much work also to have meaningful consistent tie-in to adjacent community/tagsets, if some of their output comes our way.
(... and then in a FEW places there may and will be some gloriously intricate nerds crocheting great tag trees, works of art in their meticulous meaning, who may or may not kink on the organizational structure itself... but that's can't be the primary design audience.)
@gaditb ah well i think part of that is just the lack of implementations
the design goal is something that can be hosted as JSON files on Github pages. i think that's the right level of necessary technicality but has the flipside of being utterly unopinionated about how you generate those JSON files and get them in Github pages. i have my own opinions here but i don't think there SHOULD be an opinion, generally, at a schema level
i don't think there is a NECESSARY lot of work around getting a basic tagset. i think it can be really simple. (i mean, i think you can do it by hand.) but i also think that there are plenty of fannish librarians who love categorizing things and i’m really frustrated in the lack of tools they have to DO that right now, so this is growing a bit out of that frustration
i also think you might be underestimating the advantages of structured data: if you ARE working with a limited tagset of known values, it is FAR easier to find the tag you want by going “Comics > Superheroes > Marvel > Spiderman” than by trying to remember if the correct tag is “Spiderman” or “Spidey” or “Peter Parker”. fuzzy text matching offers a better experience over a structured knowledge system if you don’t know what you’re looking for, but a typically worse experience if you do, because people remember a concept’s location in a hierarchy much better than they do its exact name. in both the case of people assigning tags to works as well as that of people looking for works, i think they can generally be assumed to have familiarity with the tags they are using, so i want to design for the system which works best for them. that means emphasis on structured relationships and text labels can be thrown to the wind (which is to say, left to authors without consequence)
(this is better for internationalization too)
@Lady But that's only if you're trying to /categorize/ your work -- for most people, I'm pretty sure tagging is primarily communication to their imagined audience. And if so, I wouldn't say to you "this is a comics story, a superheroes story, a marvel story, a Spiderman story" I'd say "Peter Parker is a Nice Jewish Boy".
If it wasn't too much of a hassle, sure I might toss a comma in there to help it have more legs -- "Peter Parker, is a Nice Jewish Boy" -- but even that's already secondary.
People have some sense of the place in a tag hierarchy they're posting in, but I'm pretty confident they only have an idea of two, maybe three or four places at once -- that is, using spacial reasoning to distinguish a subcategory of tags also runs into limits-of-the-functional-imagination that restrict its use as such.
@gaditb oh, i think we disagree about the purpose of tagging then
i think the primary purpose of tagging is aiding discovery systems, and i think this stance is strongly evidenced by how tags are used for search and filtering on AO3. i question why “Peter Parker is a Nice Jewish Boy” is being entered into the “tags” field and not the “description” field if the purpose isn’t associating the work with other works where Peter Parker is a Nice Jewish Boy
if that association IS desired, then it’s to everyone’s benefit if that tag is suggested to authors, for example, if they have already tagged the work with “Peter Parker”, so they don’t recreate the tag with a different spelling and require wrangling work to smooth over the differences (assuming user-suggested tags are even an option)
i don’t want to foreclose the idea of tags that aren’t discovery-oriented. i think you’re right that it’s a use case. but i also feel that users might want works tagged “Peter Parker is a Nice Jewish Boy” to appear in tag listings for “Peter Parker”, “Nice Jewish Boys”, “Jewish culture”, et cetera, even if those other tags weren’t supplied… and it’s an open question whether it is a good thing or a bad thing that this can happen even when a creator is primarily in a communicative frame of mind
@Lady I mean I definitely overstated my case and I don't mean to imply that tags are NOT discovery-oriented, just that I do think people are imagining the act of tagging a lot more finitely and conversationally than "categorizing according to a schema".
I think it is a lot more about imagining a particular audience they share context with, and describing the contexts of the work /to them/ in tag form.
(Not universally, but very heavily.)
@Lady AO3 tagging practices inherit a lot from Tumblr tagging practices, where often tags are circuitous references made knowing that the audience of followers shares the context to understand it. Similarly, many tags on AO3 are written with the context-carrying audience in mind: things like "no beta we die like Uncle Ben" are not the author saying "unbetaed", but wanting to change the text displayed for their own amusement -- that text is inherently the contebt they wish to communicate to an audience that understands it, and it is /AO3/ that translates (syns) it into its database.
Asking the author to do that translation themself is a dead-end. Your ontology is not their audience; they have no inherent allegiance to to it.
@gaditb i think you're assuming that ontologies are being made from people outside of the community and my point is the opposite, that in a federated context communities can express themselves directly to their audiences using the language they both have agreed on, instead of needing a third party to wrangle that language into a globally-recognized form
@gaditb you can't have that cake and eat it too though without those communities doing the work to, you know, define that agreed-upon ontology and put it out there in a format their members can use, which is the problem space i'm trying to tackle
@Lady I don't disagree, but then in your discussion of your proposal you're talking about using opaque hexstring identifiers, and tags objects being internationalizeable and translateable with no canonical language, and finding a tag by drilling from a universalized external-to-everything start-point down to the specifics, picking the intended meaning as it goes.
Rather than a use-case of something starting from a particular meaning and a particular context, with the job of the ontology (with hopefully a section of that ontology maintained by people living inthat context) to provide enough available LOCAL hooks to connect the known meaning into, to translate it up to more general audiences.
e.g. avoiding the needing-to-include-all-of-"#Gamer #Gamers #Gaming #Gameing" issue.
(I dunno, maybe I'm talking nonsense here.)
@gaditb i think generally we are in agreement conceptually i am just coming at this from a library sciences mentality whereas you are coming at it from a social sciences mentality so we're putting emphasis in different places
i want a library system which works, you want a social infrastructure enabling a certain kind of communication, the actual solution needs to be both of these things
@Lady Okay I was thinking more about it and actually I think I DO want tags-on-works to be specific textual, not opaque, identifiers.
The CANONICAL/WRANGLED versions of the tag should be opaque and changeable, yes. But the thing that gets attached to the work itself, by the author, should be a specific meaning by the author, not a general floater.
...
Okay I went and actually reread your specs, and it's "Tag Labels" that I'm thinking of.
I think Tag Labels should be on their own the primary expected way for people to tag works, and their identifiers should be plain-language forms whose meaning is, e.g.,
@prefix kinkwranglers: <https://kinky.ontologists.example/labels/>
@prefix spidey: <https://spiderfans.example/wrangling/>
_:work t:hasLabel
kinkwranglers:restraint ,
spiderfans:peter%20beta .
that "this work should be tagged with what the community behind kinky.ontologists.example considers 'restraint' to label".
And that is enough to be fitted into the knowledge graph.
@gaditb i think tag labels should be blank nodes, and not have identifiers :P
@Lady Strong disagree, see my followup.
(... I think.)
"I choose to label this work with <authority>'s understanding of <term>'s meaning" IS fundamentally the precise moment of what tagging is on AO3, and is the place where people can begin to build contextual/interrelated meaning from that basic fact.
And there can be very thin authorities for this, doing the simplest form of wrangling "this label means, to us, ao3tag:opaque-identifier-here", and that's all.
(Also, this "label to tag" mapping is ALREADY exactly what AO3's "Tags with the same meaning" https://archiveofourown.org/tags/Plot%20What%20Plot*s*Porn%20Without%20Plot .)
@Lady I think a design goal of this should be to break up AO3's current tag system into component pieces, such that the different people working on it/interacting with it -- fanwork creaters/bookmarkers, tag wranglers/tag synners, etc. -- should be able to make minimal changes to their practices (primarily adding the explicit picking of/delegation to authority, replacing the implicit "always delegating to AO3"), and have their work stitched together into a composite whole by the ontology.
Not the ONLY way it should function, it should also be able to be used in other ways, /in addition/ -- but a necessary feature for completeness is "people can use it to do their previous thing without it asking twice as much work from them".
@Lady Another reason to have labels be both explicit and their own literal form is to be able to give useful information downstream about how a tag WILL be processed.
Like, for known ambiguous labels:
in kink.wranglers.example/ontology.ttl:
kinkwranglers:motorboating tp:labelDisambiguation [
tp:disambiguationTag ao3:<opaque> ;
tp:disambiguationUnambiguousLabel kinkwranglers:motorboating%20(sex%20act) ,
kinkwranglers:motorboating-like-the-boob-kind . ] ,
[
tp:disambiguationTag ao3:<otheropaque> ;
tp:disambiguationUnambiguousLabel kinkwranglers:motorboat%20boating . ]
.
That a tagging front-end, with a local copy of kink.wranglers.example/ontology.ttl, can prompt the author to fix.
@Lady (Okay I'd actually put a bit more autogenerateable skeleton cruft around the list of tags, like
_:work t:hasTagLabelCollection [
t:containsTagLabel
kinkwranglers:restraint ,
spiderfans:peter%20beta .
] .
to make that be a specific collection that is self-contained (and somewhere in there described as "the one the author wrote"). But I was running out of characters, and the label IRIs are my main point.)
This is merging the skosxl:LiteralForm value into the tag name itself, yes -- but deliberately. We're not trying to encode knowledge here, we're trying to /GIVE people ways to USE HOOKS INTO A KNOWLEDGE-ENCODING SYSTEM to clearly express their intentions/. And so, the specific -- fixed in its moment of use! meaningfully-changeable only by its author! -- hook chosen DOES have direct, timeless, meaning here.
@Lady (Hey hey now, I'm coming at this from a FAKE social sciences mentality -- I don't have experience or training in any of this, I'm just improvising and faking it.)