Version 16 (modified by kiesel, 15 years ago) (diff)

Simplify annotating

Random ideas

  • User interface
    • Plain HTML pages for item/feature instances, just for browsing and linked data
    • Onmouseover for features listing feature description and well-known example items with that feature
  • Annotating items
    • Rules for deducing features (per-user basis, let user confirm generated feature instances)
    • Filter negative features in view

Thesis topics

Time estimates are implementation only.

  • Adaptation for music domain
    • finish skiptrax ontology (see 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
  • Notifications
    • Annotate certificates and recommendations with "first issued" date, support listeners
  • 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
    • 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
  • Ontology evolution
    • simple skipinions ontology editor - 2 weeks
    • update and synchronize ontologies (and facts!) on peers - 3-8 weeks
  • User interface
    • proper search/view/enter
    • evaluation

Related work

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 XMPP pubsub?
    • Ontology evolution/rules
      • rules that upgrade existing facts could be added to the diff file


  • Internal namespaces for ontologies (xmpp://
    • this way people can create own ontologies, and ontology management/evolution can be done similar to facts synchronization
  • Play sounds from JavaScript:
  • 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