l3p

[Documentação de atividades]Extraindo os dados da plataforma cultura digital.

Por Arlon da Silva Moreira. Em 17/04/15 14:09. Atualizada em 05/05/15 13:35.

Extraindo dados a cerca dos usuários:

Para construir a base de dados a cerca das informações dos usuários, serão utilizadas diversas metodologias. Esses dados permitem visualizar o cenário que caracteriza a assiduidade dos usuários. Deste modo, considere os seguintes métodos e funções:

SELECT `wp_users`.ID AS UserID, `wp_users`.user_login AS Nickname, `wp_users`.user_email
`wp_users`.user_url`wp_users`.user_registEred AS DataDeRegistro FROM `wp_users`

Observe o seguinte trecho no código "`wp_users`.user_registred", diante disso, a ideia seria diminuir a "data" e "hora" de registro, com a data e hora de registro da última atividade realizada por determinado usuário, na qual, isso poderá ser uma oportunidade de análise, permitindo mensurar o tempo que determinado usuário atuou ou atua na plataforma. Porém, é necessário realizar uma outra consulta SQL para extrair esses dados da tabela "wp_usermeta", se tratando de um meta dado.

SELECT `wp_users`.ID`wp_users`.user_login`wp_usermeta`.meta_value FROM `wp_users` JOIN `wp_usermeta` 
ON `wp_usermeta`.user_id=`wp_users`.ID WHERE `wp_usermeta`.meta_key='last_activity';

 

Observa-se que na entidade "wp_users", não possui atributos a cerca do nome do usuário, deste modo realiza-se:

SELECT `wp_users`.ID`wp_users`.user_login`wp_usermeta`.meta_value FROM `wp_users` JOIN `wp_usermeta` 
ON `wp_usermeta`.user_id=`wp_users`.ID WHERE `wp_usermeta`.meta_key='nickname';

Na plataforma, um usuário possui a possibilidade de fazer amizades e interagir com essas pessoas, além disso, essas pessoas participam de grupos de amigos. Esses dados serão bastantes úteis para estudar o comportamento dos mesmos, além de possibilitar realizar análises de redes.  

 Deste modo, esses dados serão extraídos da seguinte forma:

SELECT `wp_users`.ID`wp_users`.user_login`wp_usermeta`.meta_value FROM `wp_users` JOIN `wp_usermeta` 
ON `wp_usermeta`.user_id=`wp_users`.ID WHERE `wp_usermeta`.meta_key='total_friend_count';

SELECT `wp_users`.ID`wp_users`.user_login`wp_usermeta`.meta_value FROM `wp_users` JOIN `wp_usermeta` 
ON `wp_usermeta`.user_id=`wp_users`.ID WHERE `wp_usermeta`.meta_key='total_group_count';

Indispensavelmente buscaremos identificar a quantidade de fórums que um usuário participou, tópicos criados em fórums e a frequência de postagem, para isso além de funções SQL para extrair a base de dados, será necessário explorar recursos do LibreOffice.

 

SELECT `bb_topics`.topic_poster_name, `bb_topics`.forum_id, `bb_forums`.forum_name,`bb_forums`.forum_slug, `bb_topics`.topic_id, `bb_topics`.topic_title, `bb_topics`.topic_slug, `bb_posts`.post_id,

`bb_posts`.post_text FROM `bb_topics`,`bb_posts`, `bb_forums`WHERE`bb_forums`.forum_id=`bb_topics`.forum_id and `bb_topics`.topic_id=`bb_posts`.topic_id;

Após realizar essa função, os dados serão extraídos para uma base de dados no formato .ods, a partir disso, buscando saber a quantidade de fórums que um usuário participou, realiza-se a seguinte tabela dinâmica:

1º Considere a base de dados a seguir:

1

 2º Realize a tabela dinâmica:

2

3º Obtenha uma segunda base de dados:

3

4º Realize uma outra tabela dinâmica, para então, obter os resultados esperados:

4

Diante disso, o mesmo será realizado para obter a quantidade de tópicos e postagens que um usuário realizou em um fórum.

Porém, além dos fórums existem os blogs como ambiente para medir a participação social. A plataforma cultura digital desenvolvida em WordPress, possui uma estrutura caracterizada como multisite, deste modo, cada blog possuirá suas próprias tabelas em WordPress.

O objetivo consiste em identificar quantos comentários um determinado usuário realizou em um blog, deste modo, para obter os resultados necessários será enviável visitar cada tabela referentes aos blogs, e extrair a informação desejada com uma simples função SQL. Diante disso, foi necessário desenvolver o seguinte script em PHP, para realizar a recuperação da informação.

O código irá retornar o número de identificação do usuário e a frequência de comentários.

<?php
error_reporting(0);
ini_set(“display_errors”, 0 );
$connect = mysql_connect('localhost','root','');
$banco_select = mysql_select_db('wpmu_culturadigital',$connect);
   

    $sql_query1 = "SHOW TABLES";
    $query_first = mysql_query($sql_query1,$connect) or die (mysql_error());

         while($dados_first = mysql_fetch_array($query_first)){
             $dados_first = $dados_first[0];
             $filter = explode("_comments",$dados_first);
             //utilizado para separar palavras de um string

                 foreach($filter AS $ARQ){
                      $concat = $ARQ."_comments";                                                                           //concatenará os termos wp_[ID do blog] com o "_comments"

                       if($concat == $dados_first){                                                                              //irá filtrar selecionando apenas as tabelas comentários

                               $sql_second = "SELECT distinct(user_id) FROM $concat";
                               $query_second = mysql_query($sql_second,$connect) or die(mysql_error());
                            while($dados_second = mysql_fetch_array($query_second)){
                                     $dados_second=$dados_second[0];
                                     

                                     if($dados_second!=0){
                                     //eliminar todos aqueles que não são usuários cadastrados
                                     $sql_tree = "SELECT count(user_id) FROM $concat      WHERE user_id='$dados_second'";
                                     $query_tree = mysql_query($sql_tree,$connect) or die (mysql_error());
                                      while($dados_tree = mysql_fetch_array($query_tree)){
                                                echo "$dados_second"." "."$dados_tree[0]"."<br>";
                                      }
                              }
                    }
            }
      }
}

?>

 

Categorias: Métricas ANÁLISE DE DADOS