xapi-ontology icon indicating copy to clipboard operation
xapi-ontology copied to clipboard

Actor, Verb and Activity as Statement subclass

Open tcst opened this issue 5 years ago • 9 comments

Hello,

Is there a rationale for Actor, Verb and Activity to subclass Statement?

Thanks, Vu

tcst avatar Mar 26 '19 22:03 tcst

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 avatar Mar 27 '19 15:03 FlorianTolk

@FlorianTolk no, those being subclasses of statement is nonsense, and this was pointed out quite a while ago and still isn’t fixed

fugu13 avatar Mar 27 '19 15:03 fugu13

edit: misread

vbhayden avatar Mar 27 '19 17:03 vbhayden

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.

fugu13 avatar Mar 27 '19 17:03 fugu13

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

fugu13 avatar Mar 27 '19 17:03 fugu13

Seeing as there aren't any active PR's, the valid complaints don't seem to been acted on by anyone.

edit: misread

vbhayden avatar Mar 27 '19 17:03 vbhayden

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.

fugu13 avatar Mar 27 '19 17:03 fugu13

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.

vbhayden avatar Mar 27 '19 18:03 vbhayden

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.

milt avatar May 29 '19 21:05 milt