[[PageOutline]] == Thesis topics == * '''Adaptation for music domain''' * metadata importers/exporters * adapter for own audio collection * simplify entering song/band information * download songs * generate playlists, possibly with changing style over time (AutoDJ) * '''Metadata sharing''' * optimize synchronization * cache and forward data on intermediate nodes in a secure fashion * '''Trust network''' * scalable trust metric * fast computation of feature summaries * fast feature/item similarity measure * '''User interface''' * show number of (existing) feature instances for each item (in !ItemPane) * show number of feature instances for each feature class (in !FeaturePane) and arithmetic mean/standard deviation for applicability * red/green blobs * small evaluation * proper search/view/enter * '''Ontology evolution''' * simple skipinions ontology editor * update and synchronize ontologies (and facts!) on peers == Other things == * Create an RDF importer that changes namespaces * '''Facts/graph synchronization''' idea * every peer implements * {{{String getDiffForNamespace(String namespace, String haveHash, String wantHash)}}} * {{{String getMostCurrentHash()}}} * {{{String isValid(String hash)}}} * {{{String getPubkey()}}} * {{{? subscribe(?)}}} * logic: once a day, every machine dumps its 'own' facts to an NTriples file along with a timestamp and the data's hash * when peers call {{{getDiffForNamespace()}}}, a diff from ''haveHash.dat'' to ''wantHash.dat'' is calculated and sent * Distributed Storage * simple distributed storage (without signatures) with trust can be implemented usind {{{getMostCurrentHash}}} and {{{isValid}}} * distributed storage with signatures can be implemented with {{{getPubkey}}} (using a true keyserver might be desirable though) * optimized push synchronization could use some subscription mechanism. Integrate with [http://www.xmpp.org/extensions/xep-0060.html XMPP pubsub]? * Ontology evolution/rules * rules that upgrade existing facts could be added to the diff file == Done == * '''Internal namespaces for ontologies''' ({{{xmpp://schwarz@xmpp.km.opendfki.de/ont/ludopinions#UsesDice}}}) * this way people can create own ontologies, and ontology management/evolution can be done similar to facts synchronization * Play sounds from !JavaScript: http://www.schillmania.com/projects/soundmanager/