| 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 |