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

Improved schema for social media #526

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

Comments

Projects
None yet
10 participants
@vholland
Contributor

vholland commented May 21, 2015

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

This comment has been minimized.

Show comment
Hide comment
@vholland

vholland May 27, 2015

Contributor

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

Contributor

vholland commented May 27, 2015

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

@chaals

This comment has been minimized.

Show comment
Hide comment
@chaals

chaals May 28, 2015

Contributor

WfM

Contributor

chaals commented May 28, 2015

WfM

@akuckartz

This comment has been minimized.

Show comment
Hide comment

akuckartz commented May 28, 2015

@elf-pavlik

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik May 29, 2015

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.

Contributor

elf-pavlik commented May 29, 2015

@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

This comment has been minimized.

Show comment
Hide comment
@danbri

danbri May 29, 2015

Contributor

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

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 comment has been minimized.

Show comment
Hide comment
@parklize

parklize May 29, 2015

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

parklize commented May 29, 2015

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

This comment has been minimized.

Show comment
Hide comment
@danbri

danbri May 29, 2015

Contributor

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

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik May 29, 2015

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.

Contributor

elf-pavlik commented May 29, 2015

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

This comment has been minimized.

Show comment
Hide comment
@inetbiz

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

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

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik May 31, 2015

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

Contributor

elf-pavlik commented May 31, 2015

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

This comment has been minimized.

Show comment
Hide comment
@jasnell

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

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

This comment has been minimized.

Show comment
Hide comment
@samuelgoto

samuelgoto Jun 1, 2015

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

samuelgoto commented Jun 1, 2015

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

This comment has been minimized.

Show comment
Hide comment
@johnbreslin

johnbreslin Jun 3, 2015

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

johnbreslin commented Jun 3, 2015

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

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Jun 3, 2015

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)

Contributor

elf-pavlik commented Jun 3, 2015

@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

This comment has been minimized.

Show comment
Hide comment
@danbri

danbri Jun 3, 2015

Contributor

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

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

This comment has been minimized.

Show comment
Hide comment
@elf-pavlik

elf-pavlik Jul 1, 2015

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

Contributor

elf-pavlik commented Jul 1, 2015

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

This comment has been minimized.

Show comment
Hide comment
@vholland

vholland Sep 16, 2015

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.

Contributor

vholland commented Sep 16, 2015

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment