Scheduler
We define a scheduler based on two possible types, a priority-based scheduler (where tasks can be easily ordered as a max-heap), and a cron-based scheduler (where repeated tasks will get picked up at increments aligned to the schedule).
RDF Schema
:Task a rdfs:Class; rdfs:label "a simple task".:TaskData a rdfs:Property; rdfs:domain :File; rdfs:range :Task.:TaskPriority a rdfs:Property; rdfs:label "a one-time execution parameter that indicates the 0-255 priority, in order of priority"; rdfs:domain rdfs:Literal; rdfs:range :Task.:TaskSchedule a rdfs:Property; rdfs:label "A cron string that describes the frequency to evaluate the task"; rdfs:domain rdfs:Literal; rdfs:range :Task.:TaskResult a rdfs:Property; rdfs:domain rdfs:File; rdfs:range :Task.