Page modifiée à 10:06, 7 Avr 2009 par Guillaume Ereteo?

Ipernity

De $1

Version de 23:58, 24 Nov 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

 ipernity (4).png

 

Questions de MB:

  • Il manque les types des groupes "privé, public, sur invitation", un groupe est une resource, on doit pouvoir utiliser amo onto.

==> Oui amo semble bien adapté pour ce cas "type 0 = privé invisible, nécessite une invitation. 1= public, 2= public + invitation"

  • Les topics sont des sujets de discussion dans le groupe. Il existe sioc:discussion pour associer des discussions à des sioc:items dont dérive sioc:post. un topic a aussi un sioc:has_creator

 ==> effectivement, je pense que has_discussion est plus adapté, toutefois on a pas le fil de la discussion associé dans nos données (je me trompe?), il faudra discuter sur la modélisation, mais dans un premier temps je pense qu'on ne s'en servira pas. Encore une fois, je pense qu'on a pas ce qu'il faut ni dans sioc ni dans sioct. On a tout de même ca qui est proche: 

 

<!-- Types of sioc:Post for question and answer sites -->

<owl:Class rdf:about="http://rdfs.org/sioc/types#Answer">
  <rdfs:label xml:lang="en">Answer</rdfs:label>
  <rdfs:comment xml:lang="en">A Post that provides an answer in reply to a Question.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Post"  />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"  />
</owl:Class>

<owl:Class rdf:about="http://rdfs.org/sioc/types#BestAnswer">
  <rdfs:label xml:lang="en">Best Answer</rdfs:label>
  <rdfs:comment xml:lang="en">A Post that is the best answer to a Question, as chosen by the User who asked the Question or as voted by a Community of Users.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Post"  />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"  />
</owl:Class> 
<owl:Class rdf:about="http://rdfs.org/sioc/types#Question">
  <rdfs:label xml:lang="en">Question</rdfs:label>
  <rdfs:comment xml:lang="en">A Post that asks a Question.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Post"  />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"  />
</owl:Class>
  • Dans les tables d'ipernity, il y a de la redondance, il faudra faire attention lors de la génération du RDF. En particulier, il y a une table qui type les relations entre membres, alors qu'ici ces relations apparaitront par le biais des groupes. Chez ipernity elles sont à la fois explicites (table des relations) et inférables (par les groupes).

==> Je ne vois pas ce que tu veux dire là michel,       "Il existe 3 type de relation entre membres : 4=simple contact (comme un favori), 1=réseau famille, 2=réseau amis, 3=réseau ami et famille."

  • Je ne comprend pas trop comment tu modélise les niveaux de partage...

==> Si un document est partagé avec les amis: uri_doc ipernity:sharedWith rel:friendOf,  avec la famille: uri_doc ipernity:sharedWith ipernity:familiy (je viens de voir que dans relationship il n'y a pas super classe pour la famille...) et on délare les deux quand on partage avec la famille et les amis. Si c'est privé on ne déclare rien et personne n'y a accès, ca vous plait? 

  • sioc:space est plutôt pour modéliser un site, un ensemble d'outils intranet (blog+ wiki par ex)...

==> ok on remodélise le profil

  • Un groupe peut être composé de groupes

==> SIOC le permet effectivement, mais on a pas ce cas dans nos données

  • Je ne vois pas les albums dans la modélisation !

 ==> Je n'ai pas mis toute les sous-classes possibles dans le schéma, document et album sont des sous classes de sioc:Post, voir la partie "types de documents" j'ai lancé une discussion dessus.

  • sioc:group devrait être aussi sioc:usergroup_of du sioc:space 

==> vous pouvez répèter la question ;)? on utilise plus sioc:space pour le profile.

  • Guigui semble-t-il veut représenter un profil par un sioc:space, je pense que sioc:space n'est pas fait pour ça... -> Nécessité de définir le profil !
    • Apparemment : dans le profil on stockerait tout l'historique des interactions (à la face book : machin a commenté, machin a créé, machin a taggué, machin a partagé, etc.)
    • Nécessité de faire une ontologie dédiée ?

==> je pense que sioc:space etait une erreur de modélisation, ni sioc ni sioct fournisse de classes appropriée, je suis pour modèliser la notion de profil dans un réseau social

messages privés

possibilités:

  • Bonne solution selon guigui: extension de sioc:Post ==> ipernity:PrivateMessage, on étend creator pour l'émeteur: 'from' et un modélise le destinaire: 'to', J'ai envie de modèliser les intéractions en ligne en étendant SIOC
  • sioc:MailMessage qui est une sous classe de sioc:Post, de même on étend creator pour l'émeteur: 'from' et un modélise le destinaire: 'to', mais bon ce ne sont pas des mails 
  • irc:PrivateMessage? dans irc:PrivateMessage étend irc:MessageEntry qui étend sioc:Post, on rest bien relié à SIOC mais on est pas dans la sémantique du message privé dans l'IRC tel que décrit dans cette ontologie
  • Nepomuk Message Ontology: http://www.semanticdesktop.org/ontologies/nmo/ mais ils ne sont reliés à aucun schéma...

Modélisation des Visites

  • SIOC ne propose qu'un décompte des visites: sioc:num_views
  • je modèliserai: ipernity:Visit, ipernity:has_visitor qui étend sioc:has_creator (+ r

Droits d'accès, visibilité

  • différents niveau de partage: privé (pas de partage), famille, amis, amis+famille
  • brancher tout ca à amo si possible: http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Droits_d'acc%c3%a8s_dans_SweetWiki 
  • Toutefois amo est destiné aux droits d'accès, une sémantique différente de ce que l'on cherche ici pour les niveaux de partage. Je propose une propriété sharedWith avec comme range rdf:property. Ainsi une resource privée n'a aucun partage déclarée, et sinon on précise les relations impliquée dans le partage.
  • MB : voir aussi l'ontologie embryonnaire http://rdfs.org/sioc/access pour voir si amo peut dériver des trucs...

Types de documents

  • document : on a foaf:Document mais on se retouverai déconnecter de SIOC, Si on opte pour sioc:Post on perd le typage, je mettrai ca dans une ontologie ipernity: ipernity:Document
  • post ==> clarifier, si c'est un post à la facebook sur le profil c'est plutot un message de blog (on a sioct:BlogPost, sioct:BoardPost et), ou tout simplement un message de profile: ProfileMessage qu'il faut ajouter. on a dans sioc types :
<owl:Class rdf:about="http://rdfs.org/sioc/types#BlogPost">
  <rdfs:label xml:lang="en">Blog Post</rdfs:label>
  <rdfs:comment xml:lang="en">Describes a post that is specifically made on a weblog.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Post"                 />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"                 />
  <rdfs:seeAlso rdf:resource="http://rdfs.org/sioc/types#Weblog"                 />
</owl:Class> 
<owl:Class rdf:about="http://rdfs.org/sioc/types#BoardPost">
  <rdfs:label xml:lang="en">Board Post</rdfs:label>
  <rdfs:comment xml:lang="en">Describes a post that is specifically made on a message board.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Post"                 />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"                 />
  <rdfs:seeAlso rdf:resource="http://rdfs.org/sioc/types#MessageBoard"                 />
</owl:Class>
  • album ==> musique, photo? on a dans SIOC types
<owl:Class rdf:about="http://rdfs.org/sioc/types#ImageGallery">
  <rdfs:label xml:lang="en">Image Gallery</rdfs:label>
  <rdfs:comment xml:lang="en">Describes an image gallery, for example, a photo album.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Container"                 />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"                 />
  <rdfs:seeAlso rdf:resource="http://www.w3.org/2003/12/exif/ns/IFD"                 />
</owl:Class>
  • topic ==> kèkeCé? quel rapport entre la table des topics et des topics de groupe?

 

  • espace utilisateur, on a SIOC:Space qui me semble approprié
<owl:Class rdf:about="http://rdfs.org/sioc/types#Microblog">
  <rdfs:label xml:lang="en">Microblog</rdfs:label>
  <rdfs:comment xml:lang="en">Describes a microblog, i.e. a blog consisting of short text messages.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Forum"                 />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"                 />
  <rdfs:seeAlso rdf:resource="http://rdfs.org/sioc/types#MicroblogPost"                 />
</owl:Class>

<owl:Class rdf:about="http://rdfs.org/sioc/types#Weblog">
  <rdfs:label xml:lang="en">Weblog</rdfs:label>
  <rdfs:comment xml:lang="en">Describes a weblog (blog), i.e. an online journal.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://rdfs.org/sioc/ns#Forum"                 />
  <rdfs:isDefinedBy rdf:resource="http://rdfs.org/sioc/types#"                 />
  <rdfs:seeAlso rdf:resource="http://rdfs.org/sioc/types#BlogPost"                 />
</owl:Class>

 

Tags

SCOT + tag Ontology:

scot_Example.jpg

  • Associer un tag à une ressource + déclaration du tag:
<scot:Tag RDF:ID="tag_ID"> <scot:tagOf rdf:resource="element_ID"   /> <scot:usedBy rdf:resource="user_ID"   /></scot:Tag>  <scot:Tag RDF:ID="tag_ID"> <rdfs:label xml:lang="en">tag_text</rdfs:label   /> <scot:Tag   />   <scot:Tag RDF:ID="tag_ID">               <scot:tagOf rdf:resource="element_ID"   />                <scot:usedBy rdf:resource="user_ID"   />  <rdfs:label xml:lang="en">tag_text</rdfs:label></scot:Tag>

 

guigui: Toutefois si on modélise le profil d'un utilisateur avec sioc:Space la différenciation se fait automatiquement par le type de ressource taggée 

Topics

<skos:Concept RDF:ID="topic_ID">       <rdfs:label xml:lang="en">topic_ID</rdfs:label></skos:Concept> <sioc:UserGroup RDF:ID="group_ID">       <sioc:topic rdf:resource="topic_ID"               />       <sioc:has_creator rdf:resource="user_ID"               /></sioc:UserGroup>

Modèle

  • une table contenant les 10000 enregistrements d'utilisateurs avec comme colonne :
    • l'identifiant de l'utilisateur

 

  • une table contenant les enregistrements des documents de ces utilisateurs avec comme colonnes :
    • l'identifiant du document 
    • l'identifiant de l'utilisateur
    • le niveau de partage du document : valeurs = privé (personne n'y a accès), amis (tout ou rien), famille (tout ou rien), et déduit : famille et amis. QUESTION : valeurs numériques ?
    • le niveau de partage du document : 0=privé, 1=avec famille, 2=avec amis, 3=avec famille et amis, 4=public

  

  • une table contenant les enregistrements des posts de ces utilisateurs avec comme colonnes :
    • l'identifiant du post 
    • l'identifiant de l'utilisateur 
    • le niveau de partage du pos : IDEM
    • le niveau de partage du post : 0=privé, 1=avec famille, 2=avec amis, 3=avec famille et amis, 4=public

  

  • une table contenant les enregistrements des albums de ces utilisateurs avec comme colonnes : C'est quoi un album ?
    • l'identifiant de l'album
    • l'identifiant de l'utilisateur
    • le niveau de partage de l'album
    • les compteurs du nombre d'élements partagés: c=total des élements, family_c=partagés avec famille, ...

  

- une table contenant les relations entre ces utilisateurs avec comme colonnes:

         - l'identifiants de l'utilisateur 1

         - l'identifiants de l'utilisateur 2

         -          la relation donnée par l'utilisateur 1 à l'utilisateur 2 : c'est quoi ? AMI OU FAMILLE ?

      Il existe 3 type de relation entre membres : 4=simple contact (comme un favori), 1=réseau famille, 2=réseau amis, 3=réseau ami et famille.

- une table contenant les visites des utilisateurs avec comme colonnes:

         - l'identifiants de l'utilisateur visitant,

         - l'identifiants de l'utilisateur visité,

         - le nombre de visites

         - le type d'élément visité (doc, post, topic, album, espace utilisateur) : VALEURS NUMERIQUES ?

item et item_id indiquent l'élément appartenant à owner_id. ex: "doc" 1 indique le document doc_id=1

         - l'identifiant de l'élément visité

  

- une table contenant les commentaires des utilisateurs avec comme colonnes:

        - l'identifiants de l'utilisateur commentant 

        - le type d'élément commenté, (doc, post, topic, album, espace utilisateur): VALEURS ?

         - l'identifiants de l'élément commenté

        - l'identifiant du commentaire auquel répond ce commentaire

  

- une table contenant les messages des utilisateurs avec comme colonnes:

         - l'identifiants de l'utilisateur auteur,

       -          l'identifiants de l'utilisateur destinataire

 

- une table contenant les tags des documents et posts avec comme colonnes:

         - l'identifiants de l'utilisateur auteur du tag,

         - le type d'élément sur lequel porte le tag (doc / post) : VALEURS ?

         - l'identifiant de l'élément sur lequel porte le tag

         - le type de tag (keyword / profile)

       -          l'identifiant du tag

  

- une table contenant les tags mot-clé des utilisateurs avec comme colonnes:

         - l'identifiants du tag mot-clé,

         - texte du tag mot-clé

  

 - une table contenant les groupes des utilisateurs avec comme colonnes:

         - l'identifiants du groupe,

         - type du groupe (privé, public, sur invitation) ?

type 0 = privé invisible, nécessite une invitation. 1= public, 2= public + invitation

 - une table contenant les rôles des utilisateurs dans les groupes avec comme colonnes:

        - l'identifiants du groupe,

        - l'identifiants de l'utilisateur,

        - rôle : VALEURS ?

role : 1=administrateur, 2=moderateur, 4=membre

- une table contenant les topics des groupes avec comme colonnes:

C'est quoi un topic exactement ? : un topic est un sujet de discussion dans le groupe.

         - l'identifiants du topic,

         - l'identifiants du groupe,

         - l'identifiants de l'utilisateur auteur