Clone URL (Committers only):
https://cms.apache.org/redirect?new=anonymous;action=diff;uri=http://jena.apache.org/tutorials%2Fsparql_datasets_pt.mdtext

Guilherme Cavalcanti

Index: trunk/content/tutorials/sparql_datasets_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_datasets_pt.mdtext   (revision 0)
+++ trunk/content/tutorials/sparql_datasets_pt.mdtext   (working copy)
@@ -0,0 +1,224 @@
+Title:     SPARQL Tutorial - Datasets
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
+
+Essa sessão cobre datasets RDF – um dataset RDF é a unidade consultada por um 
consulta SPARQL. 
+Ele consiste de um grafo padrão, e certo número de grafos nomeados.
+
+## Consultando datasets
+
+As operações de casamento de grafos 
+([padrões básicos](sparql_basic_patterns_pt.html),
+[`OPTIONAL`s](sparql_optionals_pt.html), e [`UNION`s](sparql_union_pt.html)) 
funcionam em um grafo RDF.  Isso começa por ser o grafo padrão do conjunto de 
dados, 
+mas pode ser alterado pela palavra-chave `GRAPH`.
+    GRAPH uri { ... padrão ... }
+
+    GRAPH var { ... padrão ... }
+
+Se um URI é fornecido, o padrão vai ser casado contra o grafo no dataset com 
esse nome – se não houver um, 
+então clausula `GRAPH` falhará ao tentar casar.  
+
+Se uma variável é dada, todos os grafos nomeados (não o grafo padrão) 
+são testados. A variavel pode ser usada em outro lugar, então, durante a 
execução, esse valor 
+já é conhecido para a solução, somente o grafo nomeado é testado.
+
+### Dados de exemplo
+
+Um dataset RDF pode ter várias formas.
+A instalação comum é ter o grafo padrão sendo a união (o merge RDF)
+de todos os grafos nomeados e ter o grafo padrão como um inventário de
+grafos nomeados (de onde eles vieram, quando eles foram lidos, etc.). Não há 
limitações – um grafo pode ser incluído duas vezes sob diferentes nomes, 
+ou alguns grafos podem compartilhar triplas com outros.
+
+Nos exemplos abaixo, vamos usar o seguinte dataset que pode ocorrer para um 
+RDF agregador de um livro de detalhes:
+
+Grafo padrão ([ds-dft.ttl](sparql_data/ds-dft.ttl)):
+
+    @prefix dc: <http://purl.org/dc/elements/1.1/> .
+    @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+    <ds-ng-1.ttl> dc:date "2005-07-14T03:18:56+0100"^^xsd:dateTime .
+    <ds-ng-2.ttl> dc:date "2005-09-22T05:53:05+0100"^^xsd:dateTime .
+
+Grafo nomeado ([ds-ng-1.ttl](sparql_data/ds-ng-1.ttl)):
+
+    @prefix dc: <http://purl.org/dc/elements/1.1/> .
+
+    [] dc:title "Harry Potter and the Philospher's Stone" .
+    [] dc:title "Harry Potter and the Chamber of Secrets" .
+
+Grafo nomeado ([ds-ng-2.ttl](sparql_data/ds-ng-2.ttl)):
+
+    @prefix dc: <http://purl.org/dc/elements/1.1/> .
+
+    [] dc:title "Harry Potter and the Sorcerer's Stone" .
+    [] dc:title "Harry Potter and the Chamber of Secrets" .
+
+Isto é, nós temos dois pequenos grafos descrevendo alguns livros, 
+e nós temos um grafo padrão que armazena quando esses grafos foram lidos pela 
última vez. 
+
+As consultas podem ser executadas via linha de comando (tudo numa linha):
+
+    java -cp ... arq.sparql
+        --graph ds-dft.ttl --namedgraph ds-ng-1.ttl --namedgraph ds-ng-2.ttl
+        --query query file
+
+Datasets não têm que ser criados só para o tempo de vida da consulta. 
+Eles podem ser criados e armazenados num banco de dados, o que seria mais 
usual para uma aplicação agregadora.
+
+### Acessando o Dataset
+
+O primeiro exemplo apenas acessa o grafo padrão:
+([q-ds-1.rq](sparql_data/q-ds-1.rq)):
+
+    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+    PREFIX dc: <http://purl.org/dc/elements/1.1/>
+    PREFIX : <.>
+
+    SELECT *
+    { ?s ?p ?o }
+
+(O "`PREFIX : <.>`"  apenas ajuda a formatar a saída)
+
+    ----------------------------------------------------------------------
+    | s            | p       | o                                         |
+    ======================================================================
+    | :ds-ng-2.ttl | dc:date | "2005-09-22T05:53:05+01:00"^^xsd:dateTime |
+    | :ds-ng-1.ttl | dc:date | "2005-07-14T03:18:56+01:00"^^xsd:dateTime |
+    ----------------------------------------------------------------------
+
+Este é somente o grafo padrão – nada dos grafos nomeados porque eles não são 
consultados a menos que
+seja informado explicitamente via `GRAPH`.
+
+Nós podemos consultar todas as triplas ao consultar o grafo padrão e os grafos 
nomeados:
+([q-ds-2.rq](sparql_data/q-ds-2.rq)):
+
+    PREFIX  xsd:    <http://www.w3.org/2001/XMLSchema#>
+    PREFIX  dc:     <http://purl.org/dc/elements/1.1/>
+    PREFIX  :       <.>
+
+    SELECT *
+    {
+        { ?s ?p ?o } UNION { GRAPH ?g { ?s ?p ?o } }
+    }
+
+resultando em:
+
+    
---------------------------------------------------------------------------------------
+    | s            | p        | o                                          | g 
           |
+    
=======================================================================================
+    | :ds-ng-2.ttl | dc:date  | "2005-09-22T05:53:05+01:00"^^xsd:dateTime  |   
           |
+    | :ds-ng-1.ttl | dc:date  | "2005-07-14T03:18:56+01:00"^^xsd:dateTime  |   
           |
+    | _:b0         | dc:title | "Harry Potter and the Sorcerer's Stone"    | 
:ds-ng-2.ttl |
+    | _:b1         | dc:title | "Harry Potter and the Chamber of Secrets"  | 
:ds-ng-2.ttl |
+    | _:b2         | dc:title | "Harry Potter and the Chamber of Secrets"  | 
:ds-ng-1.ttl |
+    | _:b3         | dc:title | "Harry Potter and the Philospher's Stone"  | 
:ds-ng-1.ttl |
+    
---------------------------------------------------------------------------------------
+
+### Consultando um grafo especifico
+
+Se a aplicação souber o nome do grafo, ele pode consultar diretamente títulos 
num grafo dado:
+([q-ds-3.rq](sparql_data/q-ds-3.rq)):
+
+    PREFIX dc: <http://purl.org/dc/elements/1.1/>
+    PREFIX : <.>
+
+    SELECT ?title
+    {
+      GRAPH :ds-ng-2.ttl
+        { ?b dc:title ?title }
+    }
+
+Resultados:
+
+    ---------------------------------------------
+    | title                                     |
+    =============================================
+    | "Harry Potter and the Sorcerer's Stone"   |
+    | "Harry Potter and the Chamber of Secrets" |
+    ---------------------------------------------
+
+### Consulta para encontrar dados de grafos que casam com um padrão
+
+O nome dos grafos a ser consultados podem ser determinados na consulta.  
+O mesmo processo se aplica a variáveis se elas são parte de
+um padrão de grafo ou na forma  `GRAPH` form. A consulta abaixo
+([q-ds-4.rq](sparql_data/q-ds-4.rq)) seta uma condição nas variáveis 
+usadas para selecionar grafos nomeados, baseada na informação do grafo padrão.
+
+    PREFIX  xsd:    <http://www.w3.org/2001/XMLSchema#>
+    PREFIX  dc:     <http://purl.org/dc/elements/1.1/>
+    PREFIX  :       <.>
+
+    SELECT ?date ?title
+    {
+      ?g dc:date ?date . FILTER (?date > "2005-08-01T00:00:00Z"^^xsd:dateTime )
+      GRAPH ?g
+          { ?b dc:title ?title }
+    }
+
+O resultado da consulta no dataset de exemplo são títulos em um dos grafos, o 
grafo com data anterior a 1 de agosto de 2005.
+
+    
-----------------------------------------------------------------------------------------
+    | date                                      | title                        
             |
+    
=========================================================================================
+    | "2005-09-22T05:53:05+01:00"^^xsd:dateTime | "Harry Potter and the 
Sorcerer's Stone"   |
+    | "2005-09-22T05:53:05+01:00"^^xsd:dateTime | "Harry Potter and the 
Chamber of Secrets" |
+    
-----------------------------------------------------------------------------------------
+
+## Descrevendo datasets RDF  - `FROM` e `FROM NAMED`
+
+À execução de um consulta pode ser dado o dataset quando o objeto da execução 
é construído ou ele pode ser 
+descrito na própria consulta. Quando os detalhes estão na linha de comando,
+um dataset temporário é criado, mas uma aplicação pode criar datasets e então 
usá-los em várias consultas.
+
+Quando descrito na consulta, `FROM <i>url</i>` é usado para identificar o 
conteúdo a preencher o grafo padrão. 
+Pode haver mais de uma clausula `FROM` e o grafo padrão é resultado da leitura 
de cada arquivo no grafo padrão. 
+Isto é o merge de RDF de grafos individuais.
+
+Não se confunda com o fato de um grafo padrão ser descrito por uma ou mais URL 
na clausula `FROM`. 
+Esse é o lugar de onde o dado é lito, não o nome do grafo. 
+Como muitas clausulas FROM podem ser fornecidas, o dado pode ser lido de 
vários lugares, 
+mas nenhum deles se torna o nome do grafo.
+
+`FROM NAMED <i>url</i>` é usado para identificar o grafo nomeado. Ao grafo é 
dado a url e o dado é lido daquela localização.
+ Múltiplas clausulas `FROM NAMED` causam em muitos grafos para serem 
adicionados ao dataset.
+
+Observe que os grafos são carregados com Jena FileManager que inclui a 
habilidade de prover localizações alternativas 
+para os arquivos. Por exemplo, a consulta pode ter  `FROM NAMED 
<http://example/data>`,
+e o dado ser lido de `file:local.rdf`. O nome do grafo vai ser 
<http://example/data\> como na consulta.
+
+Por exemplo, a consulta para buscar todas as triplas em ambos o grafo padrão e 
os grafos nomeados poderia ser escrita como
+([q-ds-5.rq](sparql_data/q-ds-5.rq)):
+
+    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+    PREFIX dc:  <http://purl.org/dc/elements/1.1/>
+    PREFIX :    <.>
+
+    SELECT *
+    FROM       <ds-dft.ttl>
+    FROM NAMED <ds-ng-1.ttl>
+    FROM NAMED <ds-ng-2.ttl>
+    {
+       { ?s ?p ?o } UNION { GRAPH ?g { ?s ?p ?o } }
+    }
+
+[Next: Resultados](sparql_results_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_datasets_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property

Reply via email to