Multi-User-Domain / mud-jena

0 stars 0 forks source link

CharacterDescriber - Describer Pipeline #4

Open calummackervoy opened 3 years ago

calummackervoy commented 3 years ago

mud:Character is the best example of an object description which we will want to extend with many different describers (e.g. CharacterAppearanceDescriber, CharacterActingDescriber, PersonalityDescriber, IntoxicatedDescriber), it's the perfect class to use to implement a Describer Pipeline

Basically, the Content Server should pipe Describers for an object to multiple providers, each extending the descriptions with new information (if it can). Therefore dependent on #1

Currently the Describer is resolved using a Dictionary, which maps a URL to a supporting Describer. This implies that only one Describer can be registered for a given URL. We should change this so that there is a Set of Describers mapped to a given URL, to which I can append each Describer to when registering. Note the suggestion of using a Set to prevent duplicates

Open-ended regarding which two Describers to implement for the Pipeline. Any will inevitably require extensions to the MUD Character ontology

calummackervoy commented 3 years ago

I wrote up a new design for a graph to return from the Describer which I think makes sense, the key thing is that the content becomes something perceived by an Agent and it starts heading towards a more general design of having Describers "annotate" a scene with content

I think that CharacterAppearanceDescriber in particular is best served by a dataset lookup - i.e. it searches a backend (triplestore, SQL) to find descriptions of the object. I've opened an issue for this part here: https://github.com/Multi-User-Domain/mud-jena/issues/17. For the scope of this issue it will suffice to have something temporary or a hard-coded default on the feature itself

In terms of an ontology for appearances I'm thinking to use/extend http://rdf.muninn-project.org/ontologies/appearances.html