Mostrando postagens com marcador sioc. Mostrar todas as postagens
Mostrando postagens com marcador sioc. Mostrar todas as postagens

terça-feira, 7 de setembro de 2010

feedparser e tratando metadados

Gerar metadados é uma etapa fundamental para permitir que novos serviços de remixagem de dados possam ser desenvolvidos. No entanto, conseguir ler esses metadados e tratá-los de forma a termos possibilidades de agregar campos, processá-los, rodar diferentes algoritmos de filtragem, como filtragem colaborativa, por exemplo, é um passo a mais que precisa ser dado.

Tenho brincado ultimamente com algumas formas de tratar esses dados. Uma das mais formas mais fáceis que tenho encontrado e bem úteis tem sido rodar algumas experiências em Python. Nunca fui um usuário Python, sendo que minha experiência com programação sempre foi mais na linha do software básico, rodando C/C++, Pascal e por aí vai. Tenho gostado do Python, pela simplicidade e facilidade com que algumas provas de conceito podem ser construídas. Agilidade na hora de exploração de uma ideia é a diferença, muitas vezes, entre o que pode te fazer continuar e o que pode te fazer desanimar.

Uma boa biblioteca que comecei a testar hoje para dar conta de coletar e fazer alguns testes com metadados é a Universal Feed Parser. É uma lib simples, ágil e que dá para testar uma série de coisas importantes para o momento em que estou:

  • qual a estrutura de um conjunto de metadados;
  • como separar os campos;
  • que tipologia os diferentes vocabulários geram (Atom, RSS, DublinCore, SIOC, etc...).
A documentação do módulo também é bem bacana, dando alguns exemplos simples e que facilitam testar nos nossos próprios feeds. Instalar a lib é bem simples, só colocar o arquivo .py no diretório do Python e começar a testar no interpretador de comandos. 

Fiz alguns testes com feeds do meu blog, do metareciclagem e com a api para websemântica que o Felipe instalou hoje no Drupal do MetaReciclagem. 

Promissor! ;-)

segunda-feira, 6 de setembro de 2010

SIOC (Semantically-Interlinked Online Communities), Drupal e avançando nas metáforas de redes

Já faz algumas meses que tenho entranhado mais a fundo nas pesquisas sobre metadados e o impacto que isso tem em nossa experiência de navegação e construção de comum na web.

A ideia toda gira em torno de como usamos os recursos online para nos conectarmos ao que efetivamente nos interessa, seja lá o que for. Com a explosão informacional que há décadas aumenta nossa entropia e o caos dos arranjos organizacionais dos dados, encontrar o comum e se conectar nas conversações que nos interessam é um desafio. Mais do que isso, relacionar conversações interessantes com "objetos/conteúdos"  interessantes que são produzidos todos os dias na web não é tarefa fácil.

A capacidade de construção de comum é ampliada quando nos identificamos por causas, visões, ideias, abordagens e formas de pensar. Sistemas de informação, em geral, acabando virando silos de informação, dificultando, quando não impossibilitando a remixagem dos dados que são produzidos, gerados e articulados em espaços de conversação.

Remixar os dados é praticamente uma condição fundamental para permitir novas possibilidades de navegação na informação. A construção da relevância, mais do que a relevância dos links, é algo em que ainda engatinhamos na web. As bases de dados atuais e nossos sistemas mais comuns de construção de redes sociais são extremamente limitados nas possibilidades de remixagem de dados que permitem.

Limitar o remixa dos dados é limitar:

  • novas possibilidades de serviços que sequer pensamos ainda;
  • identificação de padrões e percepção de movimentos que emergem na rede, indicando tendências e dinâmicas que não poderiam ser percebidas de outra forma;
  • transparência e liberdade;
  • novas possibilidades de ativismo, que poderia reduzir a desinformação geral, produzindo sínteses, evidenciando movimentos políticos, dinâmicas de articulação e uso de recursos públicos, culturais. 
Sem dúvida, podemos pensar em muitas outras possibilidades que o remix poderia ampliar o que podemos fazer hoje. 

Há vários casos de aplicação de princípios da websemântica que buscam tratar algumas das questões acima. É interessante perceber usos como melhorias em sistemas de busca, caso do Yahoo, e mesmo o uso num sistema de interface com usuário, como é o caso do KDE 4.0. 

No entanto, o que mais me chamou atenção e que vejo que vem bem ao encontro do que ando pensando nas últimas semanas é o projeto SIOC (Semantically-Interlinked Online Communities). A descrição da página do projeto o apresenta como sendo uma proposta de uma ontologia (um vocabulário) para representar dados de interações sociais na rede em formato RDF. A ontologia completa do SIOC tá disponível aqui! Veja abaixo como ela tá organizada:


Esse infográfico apresenta como os dados poderiam ser descritos. Por exemplo, um post X foi criado pelo usuário Y nos tópicos K e W, mais informações podem ser encontradas em www.url.exemplo.br e o post tem comentários que podem ser acessados em www.url.exemplo.br/comentarios1.  

Há uma lista bem interessante de onde o SIOC tem sido usado. Em aplicações com o Twitter, Wordpress, Drupal e por aí vai. Para Drupal (veja aqui estatísticas de uso do módulo), o projeto permite a seguinte dinâmica:

Site -> host_of -> Forum -> container_of -> Post -> has_creator -> User
Posts have reply Posts, and Forums can be parents of other Forums.
Em tese, o isso significa? O que acontece no sistema de blogs e fóruns poderia ser descrito usando essa vocabulário. Teríamos a possibilidade de exportar metadados descrevendo essas relações, permitindo que diversos serviços de remixagem pudessem ser feitos, incluindo novas maneiras de navegarmos nesses dados e criarmos visualizações de tendências, emergência de comuns. 
Segue aqui uma outra discussão bacana que rolou sobre isso na comunidade Drupal. Segue aqui um exemplo de como isso seria aplicado em RDF no Drupal 6.0:

    Drupal 6.0 released
    2008-02-13T014:42:00Z
   
       
   

    After one year of development we are ready to release Drupal 6.0 to the world. Thanks to the tireless work of the Drupal community, over 1,600 issues have been resolved during the Drupal 6.0 release cycle. These changes are...
   

   
   
   
       
       
       
   
A ontologia SIOC abre as conversações e as relações que são estabelecidas. Potencial enorme para diversas ações que poderíamos imaginar:
  • produção de taxonomias de recursos em sistemas de informação que poderiam ser descentralizados, distribuídos e navegáveis a partir unicamente dos metadados;
  • novos serviços de navegação nos metadados, gerando novas dinâmicas de visualização da informação;
  • consulta estruturada aos metadados, permitindo a produção de filtros, índices e uso de toda a estrutura de bancos de dados para navegar nos metadados descentralizados.
E segue o trem que tá começando a ficar quente a picada na mata! ;-)