Open AFPMedialab opened 1 year ago
La propriété action n’existe pas dans la définition Creator. Quel est l’objectif de rajouter un objet Action dans creator ? Si c’est pour ajouter des informations sur le profile du créateur, je ne suis pas sur que les objects Action soient les plus appropriés.
La raison pour laquelle je l'ai ajouté est parce qu'il faut lier à Creator de l'information sur la création du compte par lequel l'individu / le groupe a publié le post, la vidéo, la chaîne, etc, et les entités Person et Organization n'ont pas de propriété comme "createdAt" ni "createdIn". Du coup, j'ai ajouté Action dans laquelle le créateur crée son compte d'utilisateur à une certaine date et dans un certain pays.
Rappelez-vous qu'on n'a pas de moyen de savoir quel type d'entité est le créateur. On ne sait pas si le compte qui a publié un Tweet, par exemple, est géré par un individu ou par une organisation. De plus, le concept d'une date de création (et un pays de création) n'est pas toujours pertinent si, par exemple, le contenu était publié dans un article classique sur un site web.
Comme il n'existe aucun element définissant ce concept dans Schema.org, tu pourrais utiliser une propriété de l'espace de nom defacto. La propriété pourrait être defacto:socialAccount dans laquelle tu peux mettre tout ce qui concerne un compte twitter, facebook, etc A voir où elle serait serait le mieux placé. Pour ma part je pense que cela devrait étendre l'objet SocialMediaPosting. Par example:
{
"appearance": {
"@context": [
"https://schema.org",
{ "defacto": "https://github.com/AFP-Medialab/defacto-rss" }
],
"@type": "SocialMediaPosting",
"url": "https://twitter_tweet",
"identifier": null,
"defacto:socialAccount": {
"@type": "defacto:TwitterAccount",
"action": {
"@type": "CreateAction",
"result": {
"@type": "ProfilePage",
"name": "Twitter account",
"dateCreated": null
}
},
"interactionStatistic": [
{
"@type": "InteractionCounter",
"interactionType": "https://schema.org/FollowAction",
"userInteractionCount": null,
"object": {
"@type": "Product",
"name": "Twitter"
}
}
]
},
"datePublished": null,
"text": null,
"defacto:Hashtags": null
}
Que penses-tu de modifier le type de Creator pour être "@type"
"defacto:SocialMediaAccount"
où on peut nous permettre d'avoir les propriétés dateCreated
et locationCreated
?
{
"appearance": {
"@context": [
"https://schema.org",
{ "defacto": "https://github.com/AFP-Medialab/defacto-rss" }
],
"@type": "SocialMediaPosting",
"url": "https://twitter_tweet",
"identifier": null,
"Creator": {
"@type": "defacto:SocialMediaAccount",
"dateCreated": null,
"locationCreated": null,
"interactionStatistic": [
{
"@type": "InteractionCounter",
"interactionType": "https://schema.org/FollowAction",
"userInteractionCount": null,
"interactionService": {
"@type": "website",
"name": "Twitter"
}
}
]
},
"datePublished": null,
"text": null,
"defacto:Hashtags": null
}
Sais-tu s'il y a un moyen de regarder toutes les actions qui peuvent descendre de interactionStatistic
? Je cherche en ligne et dans la documentation de schema.org, mais je ne vois pas une liste complète de l'hérédité. J'en demande parce que je veux savoir si, sans créer quelque chose de nouveau, je pourrais rajouter les informations sur la création du compte dans le interactionStatistic
du Creator en utilisant une action existante comme CreateAction
. @kat-kel
Que penses-tu de modifier le type de Creator pour être
"@type"
"defacto:SocialMediaAccount"
où on peut nous permettre d'avoir les propriétésdateCreated
etlocationCreated
?{ "appearance": { "@context": [ "https://schema.org", { "defacto": "https://github.com/AFP-Medialab/defacto-rss" } ], "@type": "SocialMediaPosting", "url": "https://twitter_tweet", "identifier": null, "Creator": { "@type": "defacto:SocialMediaAccount", "dateCreated": null, "locationCreated": null, "interactionStatistic": [ { "@type": "InteractionCounter", "interactionType": "https://schema.org/FollowAction", "userInteractionCount": null, "interactionService": { "@type": "website", "name": "Twitter" } } ] }, "datePublished": null, "text": null, "defacto:Hashtags": null }
C'est une très bonne idée. A condition de préfixer les propriétés dateCreated et locationCreated.
En partant du principe que le type "defacto:SocialMediaAccount"
herite du type Person et/ou Organization, toutes les propriétés non préfixé restent dans le vocalbulaire Schema.org et tout les ajouts sont dans defacto.
Cela donnerai:
{ "appearance": { "@context": [ "https://schema.org", { "defacto": "https://github.com/AFP-Medialab/defacto-rss" } ], "@type": "SocialMediaPosting", "url": "https://twitter_tweet", "identifier": null, "Creator": { "@type": "defacto:SocialMediaAccount", "defacto:dateCreated": null, "defacto:locationCreated": null, "interactionStatistic": [ { "@type": "InteractionCounter", "interactionType": "https://schema.org/FollowAction", "userInteractionCount": null, "interactionService": { "@type": "website", "name": "Twitter" } } ] }, "datePublished": null, "text": null, "defacto:Hashtags": null }
Toute la hérachie est dans https://schema.org/Action. Si il n'y a rien qui répond au besoin, tu peux en créer un pour defacto.
J'ai un nouveau schéma à proposer pour le creator. Voici l'exemple d'une vidéo YouTube dont le creator
est la chaîne qui l'a publié. J'ai adopté defacto:dateCreated
et defacto:locationCreated
pour les nouvelles properties de creator
que nous voulons ajouter. Par contre, je me rends compte qu'un creator
ne peut pas être de type WebPage
. Il faut être soit Person
soit Organization
. Mais je veux pouvoir dire qu'une page YouTube est un WebPage
.
"creator": {
"@type": "WebPage",
"defacto:dateCreated": "2018-09-24",
"defacto:locationCreated": "FR",
"identifier": "UCyamXi0qEQJghCjJbj__aWQ",
"name": "Chaîne officielle TVL",
"interactionStatistic": [
{
"@type": "InteractionCounter",
"interactionType": "SubscribeAction",
"interactionService": {
"@type": "website",
"name": "YouTube"
},
"userInteractionCount": "698000"
},
{
"@type": "InteractionCounter",
"interactionType": "CreateAction",
"interactionService": {
"@type": "website",
"name": "YouTube"
},
"userInteractionCount": "3351",
"result": {
"@type": "VideoObject"
}
}
]
},
Je pense que dans le cas d'un line youtube le mieux , pour représenter la chaine, serait d'utiliser la propriété isPartOf à la place de creator. Si le createur est identifié il vient en complément de la page du channel.
On aurait quelques choses comme cela:
{
"appearance":
{
"@context":
[
"https://schema.org",
{
"defacto": "https://github.com/AFP-Medialab/defacto-rss"
}
],
"@type": "SocialMediaPosting",
"url": "https://youtube_link",
"identifier": "youtube_id",
"isPartOf":
{
"@type": "WebPage",
"dateCreated": "2018-09-24",
"countryOfOrigin":
{
"@type": "Country",
"name": "France"
},
"identifier": "UCyamXi0qEQJghCjJbj__aWQ",
"name": "Chaîne officielle TVL",
"interactionStatistic":
[
{
"@type": "InteractionCounter",
"interactionType": "SubscribeAction",
"interactionService":
{
"@type": "website",
"name": "YouTube"
},
"userInteractionCount": "698000"
},
{
"@type": "InteractionCounter",
"interactionType": "CreateAction",
"interactionService":
{
"@type": "website",
"name": "YouTube"
},
"userInteractionCount": "3351",
"result":
{
"@type": "VideoObject"
}
}
]
},
"datePublished": "2022-09-24",
"text": "",
"defacto:Hashtags": ""
}
}
Comme WebPage est de type CreativeWork, j'ai utilisé les propriétés défini par Schema.org à la place des propriété defacto.
Proposition: