Rhizome Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências O que é? Rhizome é um sistema que permite a manipulação do site inteiro, incluindo conteúdo, estrutura, e edição de metadado RDF. Metas Permitir que uma pessoa sem conhecimento técnico possa criar sites webs semânticos Fornecer uma plataforma para o desenvolvimento rápido de aplicações web Caso de uso para as tecnologias subjacentes: Rx4RDF, ZML e Raccoon Características Wiki de forma fácil Todas funcionalidades de um wiki: publicação e criação automática de páginas e links usando as mesmas regras de formatação Mas a mesma regra de formatação pode ser usada arbitrariamente para criar HTML, XML, e RDF Pode-se criar e editar não só o conteúdo das páginas mas também os metadados, a estrutura do site e aparência, e o comportamento uniforme da aplicação Inclui páginas dinâmicas: suporta XSLT, RxSLT, Python, RxUpdate Características Gerenciamento avançado de conteúdo Páginas podem ter qualquer conteúdo: XML, HTML, binário, etc. Conteúdo, metadado e estrutura do site é armazenado como RDF: podendo ser refeito Versionamento nativo de conteúdo e metadado com detecção de conflito Suporta file system local Pode gerar web sites estáticos Importação e Exportação de conteúdo e metadado suporta varios engines RDF (Redland, 4Suite, RDFLib) com varios armazenadores de dados: Arquivos, bancos SQL, bancos de dados embeddable Easy Authoring e Desenvolvimento Rápido Rhizome já vem com suporte para tipos de documentos Apache Forest e tem um suporte preliminar para DocBook. Pode-se também ver e editar facilmente os metadados RDF do site usando RxML. Páginas Dinâmicas Quase todas as funcionalidades do Rhizome podem ser encontradas em páginas dinamicas, que são escritas em RxSLT, XSLT, e RxUpdate Arquitetura Entrada dos dados •Formatador de texto •Editor de RDF Servidor de Aplicação •Transforma RDF em XML •Atualiza o modelo RDF •Interpreta o XML Engine de consulta utilizando RxPath Tecnologias Envolvidas Rx4RDF RxPath RxML RxSLT RxUpdate ZML Raccoon Apache Forrest DocBook Python 4Suite Rx4RDF Rx4RDF é uma série de tecnologias desenvolvidas cujo objetivo é tornar o RDF mais acessível e fácil de usar. Nele está incluído o RxPath. RxPath RxPath é uma linguagem para endereçar partes do modelo RDF. É sintaticamente idêntico ao XPath e muito parecido semanticamente. Exemplo: Procurar o nome completo de uma pessoa que são editores de um recurso: • /*/ex:editor/*/ex:fullName/* RxML RxML permite listar as propriedades que uma URL tem em RDF. A estrutura de um documento RxML é simples: cada filho da raiz rx representa um recurso. Cada filho de um recurso especifica um par nomevalor que se aplica ao recurso. Juntos, o recurso e o par nome-valor, formam uma declaração RDF. Exemplo de um documento RxML <rx xmlns:rx='http://rx4rdf.sf.net/ns/rxml#' xmlns:mysite='http://example.org/mysite/‘ xmlns:dc="http://purl.org/dc/elements/1.1/" > <mysite:page1.html> <dc:author>me</dc:author> <dc:title>The first page</dc:title> <dc:relatedTo><mysite:lastPage.html/></dc:relatedTo> </mysite:page1> <mysite:lastPage.html> <dc:author>me</dc:author> <dc:title>The last page</dc:title> <dc:relatedTo><mysite:page1.html/></dc:relatedTo> </mysite:lastPage.html> </rx> Diferenças entre RxML e RDF/XML O nome de um recurso especifica a URI e não o tipo dele, como no RDF/XML RxML não suporta Striped Syntax Não possui atalhos alternativos de sintaxe como empty property elements (rdf:resource) e property attributes. RxSLT RxSLT é uma linguagem para transformar RDF em XML. É sintaticamente igual ao XSLT 1.0. Um processador RxSLT avalia expressões RxPath e modelos RDF como se estivesse em um processador XSLT que avalia expressões XPath e modelos XSLT. ZML O ZML é um formato de texto que combina o tipo wiki de escrever com uma sintaxe XML alternativa inspirada por SLiP. A sua principal característica é ser uma linguagem de marcação fácil de usar: é simples, clara e concisa Raccoon Raccoon é um simples servidor de aplicação que usa o modelo RDF para armazenar os dados, aproximadamente análogo ao RDF como o Apache Cocoon está para o XML. Arquitetura do Raccoon Request Request Processor Content Processor Response Content Processor Arquivo Data Store Associado Ao request Action 1 É apresentado como um RxPath DOM de um modelo RDF Arquivo de configuração que define a sequência de ações para cada request Função Procura uma função que casa com a solicitação Invoca uma função Executa a função solicitada Valor Action 2 Manda o resultado para o response Apache Forrest Rhizome já vem com suporte para tipos de documento do Apache Forest. Apache Forrest é um framework de documentação orientado aos padrões do XML baseado no Apache Cocoon, fornecendo stylesheets e esquemas XSLT, imagens e outros recursos. Forrest utiliza disso para renderizar o conteúdo em um website via linha de comando, robot, ou aplicação dinâmica. DocBook Rhizome tem um suporte preliminar ao DocBook DocBook é um DTD mantido pelo DocBook Technical Committee de OASIS Python Python é uma linguagem de programação interpretada, interativa e orientada a objeto. É comparada as vezes com Tcl, Perl, Scheme ou Java. 4Suite 4Suite permite aos usuários tirar rapidamente vantagens sobre padrões tecnológicos do XML e desenvolve e integra aplicações web. Referências RxPath http://rhizome.liminalzone.org/RxPathSpec RxML http://rhizome.liminalzone.org/RxMLSpecification Striped Syntax http://www.w3.org/2001/10/stripes/ Raccoon http://rhizome.liminalzone.org/Raccoon Apache Forest http://forrest.apache.org/index.html DocBook http://www.docbook.org/ Python http://www.python.org/doc/Summary.html 4Suite http://4suite.org/index.xhtml Rhizome http://rhizome.liminalzone.org ZML http://rhizome.liminalzone.org/TextFormattingRules