handling Action subtypes defined outside of schema.org namespace? + as:verb

Hi,

Based on discussions in Social WG around ActivityStreams2.0 I would like
to ask for help with clarifying something about schema.org Action
subtree design. In particular how to recognize subtypes of schema:Action
defined outside of schema.org . While on it I will also mention how
as:verb[1] tries to address it.

Given example Action:

{
  "@context": "http://schema.org",
  "@type": "WatchAction",
  "actionStatus": "CompletedActionStatus",
  "agent" : {
    "@type": "Person",
    "name": "Kevin Bacon"
  },
  "object" : {
    "@type": "Movie",
    "name": "Footloose"
  },
  "startTime" : "2014-03-01"
}

I need knowledge from WatchAction and ConsumeAction definitions, in
particular *rdfs:subClassOf* to recognize it as subtype of Action

<div typeof="rdfs:Class" resource="http://schema.org/WatchAction">
  <span class="h" property="rdfs:label">WatchAction</span>
  <span property="rdfs:comment">The act of consuming dynamic/moving
visual content.</span>
   <span>Subclass of: <a property="rdfs:subClassOf"
href="http://schema.org/ConsumeAction">ConsumeAction</a></span>
</div>

<div typeof="rdfs:Class" resource="http://schema.org/ConsumeAction">
  <span class="h" property="rdfs:label">ConsumeAction</span>
  <span property="rdfs:comment">The act of ingesting
information/resources/food.</span>
   <span>Subclass of: <a property="rdfs:subClassOf"
href="http://schema.org/Action">Action</a></span>
</div>

So having

{
  "@context": ["http://schema.org", { "ex": "http://example.net/#" }]
  "@type": "ex:HugAction",
  "actionStatus": "CompletedActionStatus",
  "agent" : {
    "@type": "Person",
    "name": "Alice"
  },
  "object" : {
    "@type": "Person",
    "name": "Bob"
  },
  "startTime" : "2014-03-01"
}

I would also need way to discover, or have prior knowledge about
*rdfs:subClassOf* definition for ex:HugAction and possibly its super
classes until schema:Action

Now in my early review of ActivityStreams 2.0 I suggested to use
subtypes of as:Activity similar as in schema:Action where we wouldn't
need additional property *verb*. (eg "verb": "ex:hug" }. Later other
group members suggested that by using as:verb we can always use "@type":
"as:Action" and by restricting it with rdfs:domain as:Activity even
infer as:Activity type.

I notice that by not using subtypes in as:Action we loose possibility
that various properties can include them in their domains. But I don't
think that would happen with externally defined types anyways.

Would construct like as:verb make sense for schema:Action as well, at
least as extension mechanism?

Cheers!

[1]
http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-vocabulary.html#dfn-verb-term

Received on Monday, 13 October 2014 16:10:09 UTC