Einige, wenn nicht alle, die nicht in engem Kontakt zu mir stehen, werden sich sicherlich fragen, was SSWAP eigentlich ist und wofür es steht. SSWAP steht für Simple Semantic Web Architecture and Protocol. Es stellt eine Architektur, Plattform und ein Protokoll für semantische WebServices dar.
Bisher war es so, dass die meisten WebServices SOAP-basiert sind und die eigentlichen zu übertragenden Daten in eine SOAP-Nachricht eingebettet werden mussten. Bei einem Semantic WebService sollte es aber so sein, dass selbst die zu übertragende Nachricht semantisch interpretierbar sein sollte, also nicht bloß der Inhalt. Hier ist anzumerken, dass der SOAP-Envelope nicht semantisch ist.
SSWAP löst dieses Problem, in dem ein eigenes Format definiert wurde, dass nichts anderes als eine Ontologie darstellt (sswap: «http://sswapmeet.sswap.info/sswap/»).
Jede Anfrage an eine Ressource (der eigentliche WebService) verarbeitet SSWAP-Graphen, die einem oder mehreren Subjekten ein oder mehrere Objekte zuweisen. Es herrscht also eine theoretische n:n-Beziehung vor, wobei es im Normalfall eine n:1-Beziehung sein wird. Das Bindeglied zwischen einem Subjekt und einem Objekt ist wie in der natürlichen Sprache ein Prädikat, das allerdings nicht unbedingt ein Verb sein muss. Generell gilt, dass dieses Konzept an das normale Verständnis aus der natürlichen Sprache lediglich angelehnt ist und nicht direkt eins zu eins aufeinander abgebildet werden kann.
Die Ressource wertet also nun jede ankommende Nachricht aus, in dem es überprüft, ob der übermittelte Graph in den Hauptgraphen überführt werden kann, der die Funktionalität der Ressource definiert. Das geschieht durch einen sogenannten Reasoner, der den Graphen auswertet und die ihn ihm enthaltenen Elemente zu inferieren versucht. um eine Wissenbasis aufzubauen.
Alles noch sehr technisch, aber ich werde den Artikel heute noch weiter schreiben. 
[TBC]
