Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace interactionCount with interaction #137

Closed
elf-pavlik opened this issue Sep 20, 2014 · 18 comments
Closed

replace interactionCount with interaction #137

elf-pavlik opened this issue Sep 20, 2014 · 18 comments
Assignees

Comments

@elf-pavlik
Copy link
Contributor

@elf-pavlik elf-pavlik commented Sep 20, 2014

In one of last emails about differences between potential and active/compleated Action, I suggested introducing new property interaction which would supersede interactionCount - http://lists.w3.org/Archives/Public/public-vocabs/2014Sep/0174.html

{
  "@type": "WebPage",
  "@id": "http://example.net/",
  "interaction": [
    {
      "@type": "ViewAction",
      "@id": "http://mypds.net/joe/ew0r98a0ga",
      "actionStatus": "CompletedActionStatus",
      "object": "http://example.net/",
      "endTime": "2017-01-04T10:32:15+01:00"
    },
    {
      "@type": "ReadAction",
      "@id": "http://mypds.net/joe/0a9fd80gh7",
      "actionStatus": "CompletedActionStatus",
      "object": "http://example.net/",
      "startTime": "2017-01-04T10:32:15+01:00",
      "endTime": "2017-01-04T10:37:04+01:00"
    }
  ]
}

While on it, I would like to bring attention (for the 4th time in last 2
years) to: http://schema.org/interactionCount

And propose to replace it with interaction which would accompany
potentialAction on Thing.

  • Thing --{potentialAction}--> Action --{actionStatus}-->
    PotentialActionStatus
  • Thing --{interaction}--> Action --{actionStatus}--> ActiveActionStatus
    || CompletedActionStatus
@gkellogg
Copy link
Contributor

@gkellogg gkellogg commented Sep 20, 2014

While I think having a schema:interaction property, it probably can't be comprehensive, and sites with large number of interactions may not want to represent all 10,000 likes, shares and so-forth. A summary is useful.

An alternative would be with something like Hydra collections, where the interaction property is put in a separate collection having its own summary information (totalItems). ItemList could do this, if it was externalizer and pagination.

@elf-pavlik elf-pavlik changed the title replace legacy property interactionCount with new interaction replace interactionCount with interaction Sep 20, 2014
@elf-pavlik
Copy link
Contributor Author

@elf-pavlik elf-pavlik commented Sep 20, 2014

@gkellogg good point! maybe then something in lines

{ "@id": "http://bigbuckbunny.org",
  "@type": "Movie",
  "interaction": [ {
    "@id": "http://bigbuckbunny.org/stats/liked",
    "@type": "hydra:Collection",
    "manages": {
      "property": "LikeAction"
    },
    "totalItems": 642
  }, {
    "@id": "http://bigbuckbunny.org/stats/watched",
    "@type": "hydra:Collection",
    "manages": {
      "property": "WatchAction"
    },
    "totalItems": 1250
  }, {
    "@id": "http://bigbuckbunny.org/stats/shared",
    "@type": "hydra:Collection",
    "manages": {
      "property": "ShareAction"
    },
    "totalItems": 148
  } ]
}

which would still allow both

Thing --{interaction}--> Action
                     --> hydra:Collection

@lanthaler

@gkellogg
Copy link
Contributor

@gkellogg gkellogg commented Sep 20, 2014

Except, of course that WatchAction, et.al. are not properties, but classes. Really, there would be a single collection managing schema:interaction, with different types values. In this case, it would make sense to have sub-properties of schema:interaction. In hydra, subset collections could also be returned using search "operations."

@elf-pavlik
Copy link
Contributor Author

@elf-pavlik elf-pavlik commented Sep 20, 2014

Of course I wrote nonsense using classes as properties 😒 Having an interaction sub property for each Action subtype doesn't sound that exciting. Taking step back from hydra:Collection, maybe introducing interactionStatistic which could take some kind of InteractionCounter would solve it?

{ "@id": "http://bigbuckbunny.org",
  "@type": "Movie",
  "interactionStatistic": [ {
    "@type": "InteractionCounter",
    "interactionType": "LikeAction",
    "interactionCount": 642
  }, {
    "@type": "InteractionCounter",
    "interactionType": "WatchAction",
    "interactionCount": 1250
  }, {
    "@type": "InteractionCounter",
    "interactionType": "ShareAction",
    "interactionCount": 148
  } ]
}
@zazi
Copy link

@zazi zazi commented Sep 24, 2014

+1 for counter class, cf. http://purl.org/ontology/co/core#

@elf-pavlik
Copy link
Contributor Author

@elf-pavlik elf-pavlik commented Sep 24, 2014

@zazi would you change anything in my example? maybe introducing generic schema:count instead reusing existing but very specific schema:interactionCount ?

@zazi
Copy link

@zazi zazi commented Sep 25, 2014

@elf-pavlik yes, this might be a good option. I would prefer schema:count instead of schema:interactionCount

@danbri danbri added this to the 2015 Q1 milestone Jan 21, 2015
@danbri danbri self-assigned this Jan 21, 2015
@danbri
Copy link
Contributor

@danbri danbri commented Jan 21, 2015

Thanks for the detailed proposal. This clearly needs some attention now that Actions has shipped...

@danbri
Copy link
Contributor

@danbri danbri commented Apr 17, 2015

/cc @vholland

@vholland
Copy link
Contributor

@vholland vholland commented Apr 17, 2015

For issue #170, we were going to deprecate all of UserInteraction, which makes interactionCount useless.

It would be useful to have some sort of AggregateInteractionCount class so pages could mention how many times something has been liked or tweeted, which I think was the original intent of UserInteraction, but that is for another release.

@danbri danbri assigned vholland and unassigned danbri Apr 29, 2015
@danbri
Copy link
Contributor

@danbri danbri commented Apr 29, 2015

I've generously assigned this to Vicki, since she is handling the UserInteraction area (and which looks likely to go away and take interactionCount with it).

Since the issue here is also forward looking, once interactionCount goes away, I'm moving it out from sdo-gozer into sometime-in-Q2.

@danbri danbri modified the milestones: 2015 Q2, sdo-gozer release Apr 29, 2015
vholland added a commit to vholland/schemaorg that referenced this issue May 19, 2015
…up aggregate statistics of user interactions.
@vholland
Copy link
Contributor

@vholland vholland commented May 19, 2015

In the spirit of @elf-pavlik's proposal, I put together vholland@a8c3e6c

The major difference is I did not leverage Action, for two reasons:

  1. We would need to modify VoteAction or (create UpVoteAction and DownVoteAction) to make the up vote/down vote use cases work.
  2. Other than the specific verbs chosen by various services, the semantic difference of "up voting", "liking", "plus'ing", etc are ambiguous. I would like to future-proof for the next big social media site that supports "hurrays".

To that end, I added the ability to say which site/app is used for the interaction so one can separate out Facebook likes from Youtube up votes.

@vholland
Copy link
Contributor

@vholland vholland commented May 19, 2015

Actually, the more I think about it, @elf-pavlik had the right idea. If I stop thinking in terms of up/down vote and in terms of http://schema.org/LikeAction and http://schema.org/DislikeAction, it works. It ties in Actions and doesn't require a bunch of new types.

I'll make that change tomorrow.

vholland added a commit to vholland/schemaorg that referenced this issue May 20, 2015
@vholland
Copy link
Contributor

@vholland vholland commented May 20, 2015

Please see pull request #514 for an implementation that uses Actions. I still need to update the examples, but pull requests are easier to diff against sdo-ganymede than individual commits.

@danbri
Copy link
Contributor

@danbri danbri commented Jun 10, 2015

@chaals - did you reach an opinion on this and the corresponding pull request, #514 ? /cc @tilid @ajax-als ... I believe everyone else is signed off. I will go ahead and merge it into the work-in-progress next release branch sdo-ganymede but do take a look...

@danbri
Copy link
Contributor

@danbri danbri commented Jul 30, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
@gkellogg @danbri @zazi @elf-pavlik @vholland and others
You can’t perform that action at this time.