[[PageOutline]] == Thesis topics == Time estimates are implementation only. * '''Adaptation for music domain''' * finish skiptrax ontology (see [http://musicontology.com/ Music Ontology]) - 1-3 weeks * metadata importers/exporters (ID3, LastFM, etc.) - 1-2 weeks * adapter for own audio collection * simplify entering song/band information - 1 week * download/cache songs - 1-4 weeks * generate/play playlists, possibly with changing style over time (AutoDJ) - 2-6 weeks * '''Metadata sharing''' * optimize synchronization - 2-3 weeks * cache and forward data on intermediate nodes in a secure fashion - 3-8 weeks * expert recommender (ask friends about people having knowledge about X/interests in Y) - 1-3 weeks * superpeer nodes? Possibly represented within the network? (superpeer3-hasFeature-!IsHubForMusic) - 3-8 weeks * detect 'hot topics' * cluster Features by topic * '''Trust network''' - trust as in "peer is competent/peer's metadata is important") * scalable trust metric - 2-5 weeks * fast computation of feature summaries - 1 week * fast feature/item similarity measure - 2 weeks * [http://www.informatik.uni-freiburg.de/~dbis/Publications/04/EEE04.html Spreading Activation Models for Trust Propagation] * explicit representation of trust (see Skippies ontology) - 2-5 weeks * user interface changes for that * trust metric changes for that * '''User interface''' * proper search/view/enter * small evaluation * '''Ontology evolution''' * simple skipinions ontology editor - 2 weeks * update and synchronize ontologies (and facts!) on peers - 3-8 weeks == Florian's thesis == * '''Adaptation for music domain''' * finish skiptrax ontology (see [http://musicontology.com/ Music Ontology]) - 1-3 weeks * handle remixes/live/unplugged (song variants) * discern song and file - model file ownership * Proper GUI with the following functions: * metadata importers/exporters (ID3, LastFM, etc.) - 1-2 weeks * (adapter for own audio collection) * simplify entering song/band information - 1 week * (generate/play playlists, possibly with changing style over time (AutoDJ) - 2-6 weeks) * '''Metadata-based functionality''' * different sharing rights for contacts (e.g. A only ontologies, B also metadata, C everything) - <1 week * expert recommender (ask friends about people having knowledge about X/interests in Y) - 1-3 weeks * trust visualization * scalable algorithms - ''scalable'' = void algo(Graph oldFacts, Graph additionalFacts, Datastructure internalData, Notifications interestingThings) * computation of feature summaries - 1 week * feature/item similarity measure - 2 weeks * structured search (index) * implicit trust (= peer competence) metric - 2-5 weeks * explicit representation of trust (see Skippies ontology) - 2-5 weeks * user interface changes for that * trust metric changes for that * by combining computed and explicit trust ratings, identifying shared interests/fields of competence should be possible. == Related work == * Semantic audio: [http://www.semanticaudio.org/htmls/publications.html List of publications] == 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/ * show number of (existing) feature instances for each item (in !ItemPane) - metadata certificates * show number of feature instances for each feature class (in !FeaturePane) and arithmetic mean/standard deviation for applicability - metadata certificates * red/green blobs