|  | 1 | * Use Skipforward internal namespaces for ontologies ({{{xmpp://schwarz@xmpp.km.opendfki.de/ont/ludopinions#UsesDice}}}) | 
                          |  | 2 | * this way people can create own ontologies, and ontology management/evolution can be done similar to facts synchronization | 
                          |  | 3 | * Facts/graph synchronization idea | 
                          |  | 4 | * every peer implements | 
                          |  | 5 | * {{{String getDiffForNamespace(String namespace, String haveHash, String wantHash)}}} | 
                          |  | 6 | * {{{String getMostCurrentHash()}}} | 
                          |  | 7 | * {{{String isValid(String hash)}}} | 
                          |  | 8 | * {{{String getPubkey()}}} | 
                          |  | 9 | * {{{? subscribe(?)}}} | 
                          |  | 10 | * logic: once a day, every machine dumps its 'own' facts to an NTriples file along with a timestamp and the data's hash | 
                          |  | 11 | * when peers call {{{getDiffForNamespace()}}}, a diff from ''haveHash.dat'' to ''wantHash.dat'' is calculated and sent | 
                          |  | 12 | * Distributed Storage | 
                          |  | 13 | * simple distributed storage (without signatures) with trust can be implemented usind {{{getMostCurrentHash}}} and {{{isValid}}} | 
                          |  | 14 | * distributed storage with signatures can be implemented with {{{getPubkey}}} (using a true keyserver might be desirable though) | 
                          |  | 15 | * optimized push synchronization could use some subscription mechanism. Integrate with [http://www.xmpp.org/extensions/xep-0060.html XMPP pubsub]? | 
                          |  | 16 | * Ontology evolution/rules | 
                          |  | 17 | * rules that upgrade existing facts could be added to the diff file |