[[PageOutline]] == Random ideas == * [BD] play with the recommender * [BD] search performance * trope finder/importer * extend createFeatureP to also access DBT REST search * find some way to online update the current user's replicated dbtropes db * perhaps pull live update to other namespace, then use sameAs for features...? * '''User interface''' * editable feature instance comment (for a short time) * change Missing Features to list common feature types first (for Review, Description, Story Type, etc.) * item type overview page * a kind of personalized recent changes page per domain (for all Story instances, etc.) * rather than filtering by item type probably the search filter API should be used * model Skipforward users * create link to user resource when creating new items * item1 --descriptionCreatedBy--> user1 * user1 --type--> SkipforwardUser --subclass--> Person * linking to external web pages and LOD linking * better DBTropes integration/feature type finder * full text search in DBTropes labels and comments * find feature types in intersection of features of two or more given items * immediate import of given feature types from DBTropes * '''Refactoring''' * diff-based syncer * use TDB named graphs for SF namespaces? * similar-to/part-of/connected-to/successor-of feature types (further input for feature type recommender) * rules for deducing features (per-user basis, let user confirm generated feature instances) * sameAs links to other data sources * '''Similarity Manager tasks''' * handle nb features in Similarity Manager (use FT IDs instead of URIs or just ignore nb FTs) * invalidate similarity cache if FT hierarchy changed * '''Item typing''' * item type represented by nb feature type instead of rdf:type? * infer item type by features used, with confidence * clustering - use clusters for annotation wizard, too * '''Domain adaptation''' * '''Metadata sharing''' * optimize synchronization * cache and forward data on intermediate nodes in a secure fashion * superpeer nodes? Possibly represented within the network? (superpeer3-hasFeature-!IsHubForMusic) * detect 'hot topics' * '''Trust network''' - trust as in "peer is competent/peer's metadata is important" * [http://www.informatik.uni-freiburg.de/~dbis/Publications/04/EEE04.html Spreading Activation Models for Trust Propagation] * explicit representation of trust (see Skippies ontology) * user interface changes for that * trust metric changes for that * '''Ontology evolution''' * simple skipinions ontology editor * update and synchronize ontologies (and facts!) on peers == Implementation details == * '''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 == * use Beans instead of JSON for ST models (fix String vs. HTML escaping ugliness in the process) * '''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 * RDF importer that changes namespaces * FloriansDiplomaThesis topics (Jul-Dec 2008) * related work: Semantic audio - [http://www.semanticaudio.org/htmls/publications.html List of publications] * finish skiptrax ontology (see [http://musicontology.com/ Music Ontology]) * metadata importers/exporters (ID3, LastFM, etc.) * expert recommender (ask friends about people having knowledge about X/interests in Y) * scalable trust metric * fast computation of feature summaries * '''User interface''' * Plain HTML pages for item/feature instances, just for browsing and linked data * For ''Person instances'': Trust, feature(types) I (dis)agree with, last annotations, list of annotated items (by date/...) * For ''Item instances'': Review stats, list of annotators (by degree of agreement), list of feature instances (by date/...) * For ''Feature types'': Comment, example positive/negative item instances (by number of annotations), experts for this type, dispute list (for the current item), list of instances (for the current item) * '''Book domain ontology''' * see also [wiki:DBTropes DBTropes] * [http://en.wikipedia.org/wiki/Literary_technique Literary technique], [http://en.wikipedia.org/wiki/Fiction-writing_modes Fiction-writing modes], [http://en.wikipedia.org/wiki/Style_(fiction) Style], [http://en.wikipedia.org/wiki/Outline_of_fiction Outline of fiction] * touch compatibility * '''advanced search''' * also in comments etc., fields selectable, using Lucene * pattern search - i.e., ''show books written by X'' * search queries should be saveable, changeable, RSSable * there is much overlap with the Dojo UI recommendation channels here. Unify. * filter by feature(s)... (search) * rank by feature match(es)... (recommender) * sort by date * allow editing/deleting items/features, at least for a short time * conf/app dot usability (popup on one click?) * item page: display reviews and descriptions separately * more ajaxy ST UI * fetch all lists/tables using ajax - allows easy paging/reuse and should improve initial page load speed * improve in feature recommender - generate feature instance overlap * ''that person seems to disagree wrt feature type X, please give more info'' * ''this feature type seems important to you but overlap with other people's annotations is low. Please annotate _that_ item.'' * I.e., apply similar techniques to the current annotation wizard on user level. * speed up adding first item features * suggest typical feature types for the current item type * suggest feature types often used by you/in general * better linking support in comments * more obvious links to create items * item page streamlining * item summary: display aggregated "green" features, and most notable features in general (genre, etc.) * this summary (first words of description only, omit review) would also make a good tooltip for item labels * personalization for notable features (e.g., feature types you often use; any disagreements involving you; any replies to your statements) * filter negative features in view? * welcome ST page for user * recent features by others for items also annotated by you - aggregate "agreeing" statements? * "Annotations wanted for..." functionality * list interesting changes up to last login/some time ago