Improved schema for social media #526

Closed
vholland opened this Issue May 21, 2015 · 17 comments

Projects

None yet

10 participants

@vholland
Contributor

Schema.org has limited support for marking up social media content. The existing schema includes http://schema.org/BlogPosting, but does not reflect the expanding nature of the industry. Today people, tweet, pin, liveblog, etc.

This is a big area, which cannot be covered by a single proposal. I am proposing some modest changes to start us down the path.

  1. Create a new type SocialMediaPosting as child of Article. Tweets, pins, facebook posts, instagram posts, etc. are all included in this type.
  2. Move BlogPosting to be a child of SocialMediaPosting instead of directly under Article.
  3. Create a LiveBlogPosting type as a subtype of BlogPosting to cover live blogging. LiveBlogPosting has the following properties:
    • coverageStartTime: When coverage is scheduled to begin. This may be before the start time for the event being covered.
    • coverageEndTime: When coverage is scheduled to conclude. This may be after the event ends.
    • liveBlogUpdate: An individual update to the blog posting.
  4. Create DiscussionForumPosting as a subtype of SocialMediaPosting for discussion boards like Reddit, etc.

See my commit at vholland@5e56cb3 for details including some initial examples.

@vholland vholland self-assigned this May 21, 2015
@danbri danbri added this to the sdo-ganymede release milestone May 21, 2015
@vholland
Contributor

I expanded the examples to include microdata and RDFa. See pull request #549.

@chaals
Contributor
chaals commented May 28, 2015

WfM

@elf-pavlik
Contributor

@johnbreslin and @parklize working on SIOC recently also joined W3C Social WG. Maybe we could take a look all together how schema:DiscussionForumPosting and schema:SocialMediaPosting can stay in alignment with existing SIOC terms?
I think also l schema:Question & schema:Answer / schema:AskAction & schema:ReplyAction fit into Social.

@danbri
Contributor
danbri commented May 29, 2015

@elf-pavlik do you see any reason this couldn't be handled by adding something like 'equivalent class' links between the proposed schema.org terms and SIOC? /cc @scor who was also involved in SIOC.

@parklize

This might help @elf-pavlik
The mappings between schema.org and other Web data vocabularies created when schema.org was launched. (Including SIOC mappings)
http://schema.rdfs.org/mappings.html

@danbri
Contributor
danbri commented May 29, 2015

Thanks @parklize!

For SIOC, the 2011 mappings were:

## Classes
schema:BlogPosting owl:equivalentClass sioct:BlogPost .
schema:Blog owl:equivalentClass sioct:Blog .
schema:Article rdfs:subClassOf sioc:Item .
schema:WebPage rdfs:subClassOf sioc:Item .

## Properties (some are not from SIOC, but used simultaneously with SIOC data)
schema:author owl:equivalentProperty foaf:maker .
schema:about owl:equivalentProperty sioc:about .
schema:datePublished owl:equivalentProperty dct:created .
schema:articleBody owl:equivalentProperty sioc:content .
schema:articleSection rdfs:subPropertyOf sioc:topic .
schema:blogPosts rdfs:subPropertyOf sioc:container_of .
# sioc:num_replies rdfs:subPropertyOf schema:interactionCount .
@elf-pavlik
Contributor

Thinking about schema.org relaxed model - (domain|range)Includes and convenient Text objects. How do you see, something like using sub(Class|Property)Of in reverse direction?

sioc:Item rdfs:subClassOf schema:Article  .
sioc:Item rdfs:subClassOf schema:WebPage .

sioc:topic rdfs:subPropertyOf schema:articleSection .
sioc:container_of rdfs:subPropertyOf schema:blogPosts .

I remember few IRL discussions with @bblfish and @timbl during W3C Social: F2F3 in Paris, where we looked at schema.org relaxed terms as super of those which ontologies like FOAF, SIOC, CCO, ... define in more strict way.

@inetbiz
inetbiz commented May 30, 2015

@vholland live blog posting should be an event type. Schema.org already has socialevent. I can think of two examples in the wild already. Youtube Live Events Chat and Google+ Live Events chat stream is live blogging.

@elf-pavlik
Contributor

I find it interesting that G+ doesn't really seem to use schema.org in a consistent way

Yes

No

Interestingly last two look like ActivityStreams 1 (verb, displayName, objectType) @jasnell @samuelgoto

@vholland regarding #514 I also noticed in people and comments examples: circledByCount, plusOneCount, plusoners.totalItems - different of counting +1 for people and comments reminds me of InteractionCounter vs. Collection.totalItems discussed in #137

seeAlso: w3c/activitystreams#89

@jasnell
jasnell commented Jun 1, 2015

There's nothing surprising about the G+ apis looking like AS1 since that's exactly where the G+ APIs began -- as an implementation of AS1. G+ began moving away from AS1 once they started exploring the "moments" mechanism and once the schema.org vocabulary began to expand.

@samuelgoto

What James said. The former is deprecated as far as I know. The latter
(schema.oeg) is the supported api.

I probably have the list somewhere where we listed where AS wasn't scaling
technically in its design, but I think I already mentioned to you two in
person f2f the issues earlier.

Buy yeah, I agree that the inconsistency in the docs is bad.

(sent from my phone)
On Jun 1, 2015 9:06 AM, "James M Snell" notifications@github.com wrote:

There's nothing surprising about the G+ apis looking like AS1 since
that's exactly where the G+ APIs began -- as an implementation of AS1. G+
began moving away from AS1 once they started exploring the "moments"
mechanism and once the schema.org vocabulary began to expand.


Reply to this email directly or view it on GitHub
#526 (comment)
.

@johnbreslin

Hi elf

I understand the schema.org classes are often more relaxed but I think the
ones below from schema.org are actually more specific. So in the
schema.rdfs.org mappings we had them as equivalent but maybe the ones you
had listed below should be in the reverse direction? Or whatever seems to
make most sense...

sioc:Item rdfs:subClassOf schema:Article .sioc:Item rdfs:subClassOf
schema:WebPage .
sioc:topic rdfs:subPropertyOf schema:articleSection .sioc:container_of
rdfs:subPropertyOf schema:blogPosts .

Best regards,

John

On Fri, May 29, 2015 at 9:45 AM, ☮ elf Pavlik ☮ notifications@github.com
wrote:

Thinking about schema.org relaxed model - (domain|range)Includes and
convenient Text http://schema.org/Text objects. How do you see,
something like using sub(Class|Property)Of in reverse direction?

sioc:Item rdfs:subClassOf schema:Article .
sioc:Item rdfs:subClassOf schema:WebPage .

sioc:topic rdfs:subPropertyOf schema:articleSection .
sioc:container_of rdfs:subPropertyOf schema:blogPosts .

I remember few IRL discussions with @bblfish https://github.com/bblfish
and @timbl https://github.com/timbl during W3C Social: F2F3 in Paris
https://www.w3.org/wiki/Socialwg/2015-05-04, where we looked at
schema.org relaxed terms as super of those which ontologies like
FOAF, SIOC, CCO, ... define in more strict way.


Reply to this email directly or view it on GitHub
#526 (comment)
.

John Breslin
Educator/Engineer/Entrepreneur
http://johnbreslin.com/
@johnbreslin http://twitter.com/johnbreslin

@elf-pavlik
Contributor

@johnbreslin I think I made my example very confusing. As far as I remember we discussed foaf:knows and schema:knows. While at first glance I would think:
schema:knows owl:equivalentProperty foaf:knows
foaf:knows uses rdfs:range & rdfs:domain,
while schema:knows uses schema:rangeIncludes and schema:domainIncludes
this makes foaf:knows in certain way more restrictive than schema:knows (or maybe having more consequences when reasoner used)

At the same time trying to make terms from other vocabularies always sub(Class|Property)Of scheme.org terms, sounds to me now like a really bad idea.

Maybe similar to schema:sameAs, schema:rangeIncludes and schema:domainIncludes. Safer to map using new predicates like: schema:equivalentClass, schema:equivalentProperty, schema:subClassOf and schema:subPropertyOf. This way reasoning engines would not have unexpected inferences. It could also come handy for mapping not only to SIOC, FOAF, CCO etc. but also to microformats.org (#559)

@danbri
Contributor
danbri commented Jun 3, 2015

Other vocabs can be super properties and supertypes too. For example Agent in FOAF covers schema.org Person and Organization.

FWIW I believe foaf:knows and schema:knows are true of the same pairs of things. Sometimes you have to read the natural language definitions to figure these things out, rather than look only at the machine definitions....

@elf-pavlik
Contributor

Will schema.org introduce some kind of Feed / Channel (collection)? Something in lines of:

How for example one can markup Youtube channel / playlist?

http://schema.org/ItemList looks closest to sioc:Container and as:Collection

@vholland
Contributor

I'm cleaning up old issues.

I believe the original intent of this issue has been addressed.

Data feeds seem to be covered by issue #688. Please comment there.

I agree that sioc:Container and as:Collection map to http://schema.org/ItemList.

For the YouTube issue see issue #781.

@vholland vholland closed this Sep 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment