Anansi
prasoon heeft deze pagina aangepast 5 jaren geleden

Anansi was often celebrated as a symbol of slave resistance and survival, because Anansi is able to turn the tables on his powerful oppressors by using his cunning and trickery, a model of behaviour utilised by slaves to gain the upper hand within the confines of the plantation power structure. Anansi is also believed to have played a multifunctional role in the slaves' lives; as well as inspiring strategies of resistance, the tales enabled enslaved Africans to establish a sense of continuity with their African past and offered them the means to transform and assert their identity within the boundaries of captivity. (from Wikipedia)

Anansi is a storytelling app that enables connecting facts to create stories which could empower resistance, engage, and break misrepresentation of events by providing the ability to add perspectives.

A user could add an "element" that could be spun into a "story" by another user. The EAD3 archival standard forms the basis of anansi which makes it an easy-to-use archival software for personal and small archives.

Below schema definition gives an idea of how the data is structured and how the story and element are related. An element could be part of several stories, each presenting it in its own context and using it to enrich the perspective it is trying to present. The relations type in DescBaseOptionUnion is used to "annotate" or link it to another entity which may be external to the story (This requires an RDF vocabulary to provide URIs for each term for arcRole - it would be nice to give the user some default vocabularies to select from or create their own in a userspace that they own, etc.)

type Element {
    head: Head
    did: Did!
    descBase: DescBaseOptionUnion
    subElements: [SubElement!]!
    }
    
type Head {
    text: MixedPreformattedText
    }
    
type Did {
    head: Head
    didOptions: [DidOptionUnion!]!
    }
    
type Story {
    control: Control
    archDesc: ArchDesc
    }
    
type ArchDesc {
    did: Did!
    descBase: DescBase
    dsc: Dsc
    }
    
type Dsc {
    head: Head
    element: [Element!]!
    }
    
"A union of abstract, container, dao, daoset, didnote, head, langmaterial, materialspec, origination, physdescset, physdesc, physdescstructured, physloc, repository, unitdate, unitdatestructured, unitid, unittitle types"
union DidOptionUnion = abstract | container | dao | daoset | didnote | langmaterial | materialspec | origination | physdescset | physdesc | physdescstructured | physloc | repository | unitdate | unitdatestructured | unitid | unittitle


"A union of AccessrestrictType, AccrualsType, AcqinfoType, AltformavailType, AppraisalType, ArrangementType, BibliographyType, BioghistType, ControlaccessType, CustodhistType, FileplanType, IndexType, LegalstatusType,OddType, OriginalslocType, OtherfindaidType, PhystechType, PreferciteType, ProcessinfoType, RelatedmaterialType, RelationsType, ScopecontentType, SeparatedmaterialType, UserestrictType"
union DescBaseOptionUnion = accessrestrict | accruals | acqinfo | altformavail | appraisal | arrangement | bibliography | bioghist | controlaccess | custodhist | fileplan | index | legalstatus | odd | originalsloc | otherfindaid | phystech | prefercite | processinfo | relatedmaterial | relations | scopecontent | separatedmaterial | userestrict