xapi-ontology
xapi-ontology copied to clipboard
Actor, Verb and Activity as Statement subclass
Hello,
Is there a rationale for Actor, Verb and Activity to subclass Statement?
Thanks, Vu
Thanks for your interest in xAPI! A good place to start when trying to understand why xAPI uses the Actor-Verb-Object model would be the Activity Streams Spec: https://www.w3.org/TR/activitystreams-core/
Hopefully this will help clear any questions you may have.
@FlorianTolk no, those being subclasses of statement is nonsense, and this was pointed out quite a while ago and still isn’t fixed
edit: misread
Statement should never derive from object. You could model sub statement, agent, and activity as deriving from some highly abstract “object”, but that’s honestly a very awkward way to model it in rdf, because it ossifies a role in a predicate as part of the entity hierarchy for no improved representability. The more natural would be for the range of the object predicate to be a union of substatement, agent, group (as it’s also best modeled as disjoint from agent), and activity.
This is far from the only change that should be done to the ontologies. When I reviewed them a while back they were so flawed as to be unusable (the issue is still open).
Seeing as there aren't any active PR's, the valid complaints don't seem to been acted on by anyone.
edit: misread
Only statement refs (forgot to list those) and sub statements (which have additional restrictions) can be the object, not statements themselves. You could argue that the right way to model a statement ref in the object in rdf is by referring to the statement, but I’d say that’s extremely likely to cause modeling confusion when trying to handle it vs sub statements. And again, in any case the right way from an rdf perspective to handle that is not by making them all subclasses but by using an owl union to describe the allowable objects.
StatementRef
yes ok, been a long day and glanced incorrectly at the spec to ignore the Ref
part.
Again, this repository is open for PR's for anyone interested.
Hey all, I'm late to the party on this one. It's not ready for a PR yet, but I generated a new ontology based on the triple destructuring we've done in the past to store xapi data in Datomic (which has a lot of RDF DNA). It doesn't have some of the more conceptual stuff (which needs to be there), but I've tried to make it more mechanically useful and axiomatically sound. Here's the gist, @fugu13 @vbhayden let me know your thoughts.