The application will create a post that will use Linked Data Notifications to send a message to a user's inbox. Predicates will include, type, created date, content, image, author and timeline to post to.
The ontology / vocabulary used is the [[!SIOC]] vocabulary.
Creating a Post
A post is created by following predicates in the user's profile.
<#this> a <http://rdfs.org/sioc/ns#Post> ;
<http://purl.org/dc/terms/created> "2016-11-05T09:11:03.929Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
<http://purl.org/dc/terms/creator> <http://melvincarvalho.com/#me> ;
<http://rdfs.org/sioc/ns#content> """You scored 60% correct, from 10 of the top 2000 czech words.""" ;
<http://xmlns.com/foaf/0.1/img> <https://melvincarvalho.github.io/vocab/images/icon.png> ;
<http://www.w3.org/ns/solid/terms#timeline> <https://melvin.databox.me/Public/timeline/> ;
<http://www.w3.org/ns/mblog#author> <http://melvincarvalho.com/#me> .
Processing a Post
Having retrieved a post from an inbox. It must first be validated to see that it is a Sioc Post. Typically the primary topic of the post or #this will be of type Sioc Post. It's then necessary to check it has some content.
If so it can be sent to the timeline of the user, or to the timeline represented in the Post. The original post should be deleted. Extra fields in the post would normally be preserved.