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

Guilherme Cavalcanti

The files of the SPARQL Tutorial translated to portuguese was submitted.

Thanks.

Index: trunk/content/tutorials/sparql_query1_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_query1_pt.mdtext     (revision 0)
+++ trunk/content/tutorials/sparql_query1_pt.mdtext     (working copy)
@@ -0,0 +1,102 @@
+Title:     Tutorial SPARQL - A primeira consulta SPARQL
+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.
+
+Nesta sessão, vamos olhar para a primeira consulta simples e mostrar como 
executá-la em Jena.
+
+## O "hello world" de consultas
+
+O arquivo "[q1.rq](sparql_data/q1.rq)" contem a seguinte consulta:
+
+    SELECT ?x
+    WHERE { ?x  <http://www.w3.org/2001/vcard-rdf/3.0#FN>  "John Smith" }
+
+executando esta consulta com a aplicação de consultas em linhas de comando:
+
+    ---------------------------------
+    | x                             |
+    =================================
+    | <http://somewhere/JohnSmith/> |
+    ---------------------------------
+
+Isso funciona casando o padrão da tripla na clausula `WHERE` contra as triplas 
no grafo RDF. O predicado e o objeto da tripla são valores fixos, então o 
padrão vai casar somente triplas com estes valores. O sujeito é a variável, e 
não há outras restrições para a variável. O padrão casa qualquer tripla com 
aquele predicado e aquele objeto, e isso casa com soluções para `x`.
+
+O item entre  <\> é a URI (atualmente, é uma IRI) e o item entre "" é uma 
literal. Assim como Turtle, N3 ou N-Triplas, literais tipadas são escritas com 
\^\^e tags de linguagem podem ser adicionadas com @.
+
+?x é uma variável chamada x. A ? não faz parte do nome e por conta disso não 
aparece nos resultados.
+
+Há um casamento. A consulta retorna o casamento na variável x da consulta. A 
saída mostrada foi obtida usando uma das aplicações de ARQ em linhas de comando.
+
+## Executando a consulta
+
+Há [scripts de ajuda](/documentation/query/cmds.html) nos diretórios de  ARQ 
`bat/` e
+`bin/` de sua distribuição. Eles podem não estar na distribuição do Jena. Você 
deve checar esses scripts antes de usá-los.
+
+### Instalação no Windows
+
+Aponte a variável de ambiente `ARQROOT` para a localização do arquivo na 
distribuição do ARQ.
+
+    set ARQROOT=c:\MyProjects\ARQ
+
+A distribuição normalmente contém o número da versão no nome do diretório.
+
+No diretório do ARQ, execute:
+
+    bat\sparql.bat --data=doc\Tutorial\vc-db-1.rdf --query=doc\Tutorial\q1.rq
+
+ 
+Você pode simplesmente colocar o diretório `bat/` no seu classpath ou copiar 
os programas lá. Todos eles dependem de ARQROOT.
+
+### scripts bash para Linux/Cyquin/Unix
+
+Aponte a variável de ambiente `ARQROOT` para a localização do arquivo na 
distribuição do ARQ.
+
+    export ARQROOT=$HOME/MyProjects/ARQ
+
+A distribuição normalmente contém o número da versão no nome do diretório.
+
+No diretório do ARQ, execute:
+
+    bin/sparql --data=doc/Tutorial/vc-db-1.rdf --query=doc/Tutorial/q1.rq
+
+Você pode simplesmente colocar o diretório `bin/` no seu classpath ou copiar 
os programas lá. Todos eles dependem de ARQROOT.
+
+[Cygwin](http://www.cygwin.com/) é um ambiente Linux para Windows.
+
+### Usando a aplicação de linhas de comando de Jena diretamente
+
+Você precisará modificar o classpath para incluir *todos* os arquivos jar do 
diretório `lib/` do ARQ.
+
+Por exemplo, no Windows:
+
+    ARQdir\lib\antlr-2.7.5.jar;ARQdir\lib\arq-extra.jar;ARQdir\lib\arq.jar;
+    
ARQdir\lib\commons-logging-1.1.jar;ARQdir\lib\concurrent.jar;ARQdir\lib\icu4j_3_4.jar;
+    ARQdir\lib\iri.jar;ARQdir\lib\jena.jar;ARQdir\lib\jenatest.jar;
+    ARQdir\lib\json.jar;ARQdir\lib\junit.jar;ARQdir\lib\log4j-1.2.12.jar;
+    ARQdir\lib\lucene-core-2.2.0.jar;ARQdir\lib\stax-api-1.0.jar;
+    
ARQdir\lib\wstx-asl-3.0.0.jar;ARQdir\lib\xercesImpl.jar;ARQdir\lib\xml-apis.jar
+
+onde `<i>ARQdir</i>` é onde você descompactou o ARQ. Isso tudo precisa estar 
numa linha.
+
+Os nomes dos arquivos JAR muitas vezes mudam e novos arquivos são adicionados 
– verifique essa lista com sua versão do ARQ.
+
+Os comandos estão no pacote ARQ.
+
+[Próximo: Padrões Básicos](sparql_basic_patterns_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_query1_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/sparql_union_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_union_pt.mdtext      (revision 0)
+++ trunk/content/tutorials/sparql_union_pt.mdtext      (working copy)
@@ -0,0 +1,129 @@
+Title:  Alternativas num padrão
+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.
+
+Outra forma de lidar com dado semiestruturado é consultar uma de um número de 
possibilidades. Essa sessão cobre O padrão `UNION`, onde uma de um número de 
possibilidades é testado.
+
+## UNION - duas maneiras para o mesmo dado
+
+Ambos os vocabulários de vcard e de FOAF possuem propriedades para nome de 
pessoas. Em vcard, é vcard:FN, o nome formatado, e em FOAF, é foaf:name. Nesta 
sessão, vamos olhar um pequeno conjunto de dados onde o nome das pessoas podem 
ser dados por ambos os vocabulários de FOAF e vcard.
+
+Suponha que temos um [an RDF graph](sparql_data/vc-db-3.ttl) que contém a 
informação de nome usando os vocabulários de vcard e FOAF.
+
+    @prefix foaf: <http://xmlns.com/foaf/0.1/> .
+    @prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .
+
+    _:a foaf:name   "Matt Jones" .
+
+    _:b foaf:name   "Sarah Jones" .
+
+    _:c vcard:FN    "Becky Smith" .
+
+    _:d vcard:FN    "John Smith" .
+
+Uma consulta para acessar a informação do nome, poderia ser 
([q-union1.rq](sparql_data/q-union1.rq)):
+
+    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+    PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name
+    WHERE
+    {
+       { [] foaf:name ?name } UNION { [] vCard:FN ?name }
+    }
+
+isso retorna:
+
+    -----------------
+    | name          |
+    =================
+    | "Matt Jones"  |
+    | "Sarah Jones" |
+    | "Becky Smith" |
+    | "John Smith"  |
+    -----------------
+
+Não importa que forma de expressão usasse para o nome, a variável ?name é 
preenchida. Isso pode ser obtido usando um `FILTER` como mostra essa consulta 
([q-union-1alt.rq](sparql_data/q-union1alt.rq)):
+
+    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+    PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name
+    WHERE
+    {
+      [] ?p ?name
+      FILTER ( ?p = foaf:name || ?p = vCard:FN )
+    }
+
+testando se a propriedade é uma URI ou a outra. As soluções podem não vir na 
mesma ordem. A primeira forma é conhecida como a mais rápida, dependendo dos 
dados e do armazenamento utilizado, porque a segunda forma tem que pegar todas 
as triplas do grafo para casar com o padrão da tripla  com variáveis não 
ligadas (ou blank nodes) em cada slot, então testa cada ?p para ver se casa com 
algum dos valores. Isso vai depender da sofisticação do otimizador de consultas 
para saber se ele vai executar a consulta mais eficientemente e transcender 
para a camada de armazenamento.
+
+## Union - relembrando onde o dado foi encontrado.
+
+O exemplo acima usou a mesma variável em cada ramo. Se diferentes variáveis 
forem usadas, a aplicação pode descobrir que sub-padrão causou o casamento 
([q-union2.rq](sparql_data/q-union2.rq)):
+
+    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+    PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name1 ?name2
+    WHERE
+    {
+       { [] foaf:name ?name1 } UNION { [] vCard:FN ?name2 }
+    }
+
+    ---------------------------------
+    | name1         | name2         |
+    =================================
+    | "Matt Jones"  |               |
+    | "Sarah Jones" |               |
+    |               | "Becky Smith" |
+    |               | "John Smith"  |
+    ---------------------------------
+
+Essa segunda consulta guardou informação sobre onde o name da pessoa se 
originou atribuindo o nome para diferentes variáveis.
+
+## OPTIONAL e UNION
+
+Na prática, `OPTIONAL` é mais comum que `UNION` mas ambas têm seu uso. 
`OPTIONAL` é útil para aumentar as soluções encontradas, `UNION` é útil para 
concatenar soluções de diferentes possibilidades. Eles não retornam 
necessariamente a informação da mesma maneira.
+
+Consulta([q-union3.rq](sparql_data/q-union3.rq)):
+
+    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+    PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name1 ?name2
+    WHERE
+    {
+      ?x a foaf:Person
+      OPTIONAL { ?x  foaf:name  ?name1 }
+      OPTIONAL { ?x  vCard:FN   ?name2 }
+    }
+
+    ---------------------------------
+    | name1         | name2         |
+    =================================
+    | "Matt Jones"  |               |
+    | "Sarah Jones" |               |
+    |               | "Becky Smith" |
+    |               | "John Smith"  |
+    ---------------------------------
+
+Mas cuidado ao usar `?name` em cada `OPTIONAL` porque isso é uma consulta 
dependente da ordem.
+
+[Próximo: Grafos Nomeados](sparql_datasets_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_union_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/sparql_results_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_results_pt.mdtext    (revision 0)
+++ trunk/content/tutorials/sparql_results_pt.mdtext    (working copy)
@@ -0,0 +1,79 @@
+Title: Produzindo resultados
+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.
+
+SPARQL tem quatro formas de se obter resultados:
+
+-   SELECT – Retorna uma tabela de resultados.
+-   CONSTRUCT – Retorna um grafo RDF, baseado num template da consulta.
+-   DESCRIBE – Retorna um grafo RDF, baseado no quê o processador está 
configurado para retornar.
+-   ASK – Faz uma consulta booleana.
+
+A forma SELECT, diretamente, retorna uma tabela de soluções como conjunto de 
resultados, enquanto que DESCRIBE e CONSTRUCT o resultado da consulta para 
montar um grafo RDF.
+
+## Modificadores de Soluções
+
+Casamento de padrões produz um conjunto de soluções. Esse conjunto pode ser 
modificado de várias maneiras:
+
+-   Projection - mantém apenas variáveis selecionadas
+-   OFFSET/LIMIT - recorta o número de soluções (melhor usado com ORDER BY)
+-   ORDER BY - resultados ordenados
+-   DISTINCT - retorna apenas uma linha para uma combinação de variáveis e 
valores.
+
+Os modificadores de solução OFFSET/LIMIT e ORDER BY sempre se aplica a todos 
os resultados.
+
+### OFFSET e LIMIT
+
+Um conjunto de soluções pode ser abreviado especificando o deslocamento 
(índice inicial) e o limite (número de soluções) a ser retornados. Usando 
apenas LIMIT é útil para garantir que nem tantas soluções vão ser retornadas, 
para restringir o efeito de uma situação inesperada. LIMIT e OFFSET pode ser 
usado em conjunção com ordenamento para pegar um fatia definida dentre as 
soluções encontradas.
+
+### ORDER BY
+
+Soluções SPARQL são ordenadas por expressões, incluindo funções padrões.
+
+    ORDER BY ?x ?y
+
+    ORDER BY DESC(?x)
+
+    ORDER BY x:func(?x)  # Custom sorting condition
+
+### DISTINCT
+
+O SELECT pode usar o modificador DISTINCT para garantir que duas soluções 
retornadas sejam diferentes.
+
+ 
+## SELECT
+
+O `SELECT` é uma projeção, com DISTINCT aplicado, do conjunto solução. 
`SELECT` identifica quais variáveis nomeadas estão no conjunto resultado. Isso 
pode ser um "*" significando que “todas as variáveis” (blank nodes na consulta 
atuam como variáveis para casamento, mas nada é retornado).
+
+## CONSTRUCT
+
+CONSTRUCT monta um RDF baseado num grafo template. O grafo template pode ter 
variáveis que são definidas na clausula WHERE. O efeito é o cálculo de um 
fragmento de grafo, dado o template, para cada solução da clausula WHERE, 
depois levando em conta qualquer modificador de solução. Os fragmentos de 
grafo, um por solução, são juntados num único grafo RDF que é o resultado.
+
+Qualquer blank node explicitamente mencionado no grafo template são criados 
novamente para cada vez que o template é usado para uma solução.
+
+## DESCRIBE
+
+CONSTRUCT pega um template para o grafo de resultados. O DESCRIBE também cria 
um grafo mas a forma deste grafo é fornecida pelo processador da consulta, não 
a aplicação. Pra cada URI encontrada, ou explicitamente mencionada na clausula 
DESCRIBE, o processor de consultas deve prover um fragmento de RDF útil, como 
todos os detalhes conhecidos de um livro. ARQ permite a escrita de 
manipuladores de descrições especificas de domínio.
+
+## ASK
+
+ASK retorna um booleano, true se o padrão for casado, ou false caso contrário.
+
+[Retornar ao índice](index.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_results_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/sparql_filters_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_filters_pt.mdtext    (revision 0)
+++ trunk/content/tutorials/sparql_filters_pt.mdtext    (working copy)
@@ -0,0 +1,91 @@
+Title:     Tutorial SPARQL – Filtros
+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.
+
+Casamento em Grafos permite que sejam encontrados padrões no grafo. Essa seção 
descreve como os valores numa solução podem ser restritas. Há muitas 
comparações disponíveis – vamos apenas cobrir dois casos destes.
+
+## Casamento de Strings
+
+SPARQL fornece uma operação para testar strings, baseada em expressões 
regulares. Isso inclui a habilidade de testes como SQL "LIKE", no entanto, a 
sintaxe de expressões regulares é diferente de SQL.
+
+A sintaxe é:
+
+    FILTER regex(?x, "pattern" [, "flags"])
+
+O argumento flags é opcional. A flag "i" significa casamento de padrão 
case-insensitivo.
+
+A consulta ([q-f1.rq](sparql_data/q-f1.rq)) procura nomes com um “r” ou “R” 
neles.
+
+    PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?g
+    WHERE
+    { ?y vcard:Given ?g .
+      FILTER regex(?g, "r", "i") }
+
+resultados:
+
+    -------------
+    | g         |
+    =============
+    | "Rebecca" |
+    | "Sarah"   |
+    -------------
+
+A linguagem de expressão regular 
+[XQuery regular expression 
language](http://www.w3.org/TR/xpath-functions/#regex-syntax)
+é a versão codificada da mesma encontrada em Perl.
+
+## Testando valores
+
+Muitas vezes, a aplicação necessita filtrar com o valor de uma variável. No 
arquivo [vc-db-2.rdf](sparql_data/vc-db-2.rdf), nós adicionamos um campo extra 
para idade. Idade não é definida no esquema de vcard então tivemos que criar 
uma nova propriedade para usar neste tutorial. RDF permite a mistura de 
diferentes definições de informação porque URIs são únicas. Note também que a 
propriedade info:age é tipada.
+
+Nesse pedaço de dado, nós mostramos o valor tipado.
+
+    <http://somewhere/RebeccaSmith/>
+        info:age "23"^^xsd:integer ;
+        vCard:FN "Becky Smith" ;
+        vCard:N [ vCard:Family "Smith" ;
+                  vCard:Given  "Rebecca" ] .
+
+Então a consulta ([q-f2.rq](sparql_data/q-f2.rq)) para procurar as pessoas 
mais velhas que 24 anos é:
+
+    PREFIX info: <http://somewhere/peopleInfo#>
+
+    SELECT ?resource
+    WHERE
+      {
+        ?resource info:age ?age .
+        FILTER (?age >= 24)
+      }
+
+A expressão aritmética precisa estar em parêntesis. A única solução é:
+
+    ---------------------------------
+    | resource                      |
+    =================================
+    | <http://somewhere/JohnSmith/> |
+    ---------------------------------
+
+Apenas um resultado, resultando na URI para o recurso Jonh Smith. Se 
consultássemos os mais novos que 24 anos, resultaria em Rebecca Smith. Nada 
sobre os Jones.
+
+O banco de dados não contém informação sobre a idade dos Jones: não há 
propriedades info:age nos seus vcards, então a variável `age` não recebe um 
valor, então não é testada. 
+
+[Próximo: Opcionais](sparql_optionals_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_filters_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/sparql_data_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_data_pt.mdtext       (revision 0)
+++ trunk/content/tutorials/sparql_data_pt.mdtext       (working copy)
@@ -0,0 +1,102 @@
+Title:     Tutorial SPARQL - Formato de Dados
+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.
+
+Primeiro, nós precisamos esclarecer quais dados estão sendo consultados. 
SPARQL consulta grafos RDF. Um grafo RDF é um conjunto de triplas (Jena chama 
os grafos de modelos e as triplas de sentenças porque assim eram chamadas 
quando a API foi elaborada inicialmente).
+
+É importante perceber que o que importa são as triplas, e não a serialização. 
A serialização é apenas uma maneira de escrever as triplas. RDF/XML é uma 
recomendação da W3C, mas isso pode dificultar a visão das triplas porque há 
múltiplas formas de codificar o mesmo grafo. Neste tutorial, usamos uma 
serialização mais parecida com triplas, chamada 
[Turtle](http://www.ilrt.bris.ac.uk/discovery/2004/01/turtle/) (veja também a 
linguagem N3 descrita pela [W3C semantic web 
primer](http://www.w3.org/2000/10/swap/Primer)).
+
+Nós vamos começar os dados em [vc-db-1.rdf](sparql_data/vc-db-1.rdf):
+este arquivo contém RDF para uma quantidade de descrições de vcards de 
pessoas. Vcards são descritos em 
+[RFC2426](http://www.ietf.org/rfc/rfc2426.txt) e a tradução RDF é descrita na 
nota da W3C 
+"[Representing vCard Objects in 
RDF/XML](http://www.w3.org/TR/vcard-rdf.html)". 
+Nosso banco de dados exemplo apenas contém alguma informação sobre nomes.
+
+Graficamente, os dados se assemelham a:
+
+![Graph of the vCard database](/images/vc-db.png "Graph of the vCard database")
+
+Em triplas, devem se parecer com:
+
+    @prefix vCard:   <http://www.w3.org/2001/vcard-rdf/3.0#> .
+    @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+    @prefix :        <#> .
+
+    <http://somewhere/MattJones/>
+        vCard:FN    "Matt Jones" ;
+        vCard:N     [ vCard:Family
+                                  "Jones" ;
+                      vCard:Given
+                                  "Matthew"
+                    ] .
+
+    <http://somewhere/RebeccaSmith/>
+        vCard:FN    "Becky Smith" ;
+        vCard:N     [ vCard:Family
+                                  "Smith" ;
+                      vCard:Given
+                                  "Rebecca"
+                    ] .
+
+    <http://somewhere/JohnSmith/>
+        vCard:FN    "John Smith" ;
+        vCard:N     [ vCard:Family
+                                  "Smith" ;
+                      vCard:Given
+                                  "John"
+                    ] .
+
+    <http://somewhere/SarahJones/>
+        vCard:FN    "Sarah Jones" ;
+        vCard:N     [ vCard:Family
+                                  "Jones" ;
+                      vCard:Given
+                                  "Sarah"
+                    ] .
+
+ou então mais explicitamente como triplas:
+
+    @prefix vCard:   <http://www.w3.org/2001/vcard-rdf/3.0#> .
+    @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+
+    <http://somewhere/MattJones/>  vCard:FN   "Matt Jones" .
+    <http://somewhere/MattJones/>  vCard:N    _:b0 .
+    _:b0  vCard:Family "Jones" .
+    _:b0  vCard:Given  "Matthew" .
+
+
+    <http://somewhere/RebeccaSmith/> vCard:FN    "Becky Smith" .
+    <http://somewhere/RebeccaSmith/> vCard:N     _:b1 .
+    _:b1 vCard:Family "Smith" .
+    _:b1 vCard:Given  "Rebecca" .
+
+    <http://somewhere/JohnSmith/>    vCard:FN    "John Smith" .
+    <http://somewhere/JohnSmith/>    vCard:N     _:b2 .
+    _:b2 vCard:Family "Smith" .
+    _:b2 vCard:Given  "John"  .
+
+    <http://somewhere/SarahJones/>   vCard:FN    "Sarah Jones" .
+    <http://somewhere/SarahJones/>   vCard:N     _:b3 .
+    _:b3 vCard:Family  "Jones" .
+    _:b3 vCard:Given   "Sarah" .
+
+É importante perceber que elas são as mesmas do grafo RDF e que as triplas no 
grafo não estão em alguma ordem particular. Elas são apenas escritas em grupos 
relacionados para a leitura humana – a máquina não se importa com isso.
+
+[Próximo: Uma consulta simples](sparql_query1_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_data_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/index.mdtext
===================================================================
--- trunk/content/tutorials/index.mdtext        (revision 1435435)
+++ trunk/content/tutorials/index.mdtext        (working copy)
@@ -23,3 +23,4 @@
 [getting started](/getting_started/) - em inglês.
 
 - [Uma introdução à API RDF](rdf_api_pt.html)
+- [Tutorial SPARQL](sparql_pt.html)
\ No newline at end of file
Index: trunk/content/tutorials/sparql_basic_patterns_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_basic_patterns_pt.mdtext     (revision 0)
+++ trunk/content/tutorials/sparql_basic_patterns_pt.mdtext     (working copy)
@@ -0,0 +1,104 @@
+Title:     Tutorial SPARQL – Padrões Básicos
+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.
+
+Esta sessão cobre os padrões básicos e as soluções, os principais blocos das 
consultas SPARQL.
+
+## Soluções
+
+Soluções são um conjunto de pares de variáveis com um valor. Uma consulta 
`SELECT` expõe diretamente as soluções (depois de ordenar/limitar/deslocar) 
como o conjunto resultado – outras formas de consulta usam as soluções para 
fazer um grafo. Solução é a maneira como o padrão é casado – em que os valores 
das variáveis são utilizados para casar com o padrão.
+
+A primeira consulta de exemplo teve uma solução simples. Mude o padrão para 
esta segunda consulta: ([q-bp1.rq](sparql_data/q-bp1.rq)):
+
+    SELECT ?x ?fname
+    WHERE {?x  <http://www.w3.org/2001/vcard-rdf/3.0#FN>  ?fname}
+
+Isso tem quatro soluções, uma pra cada propriedade nome de VCARD das triplas 
na fonte de dados.
+
+    ----------------------------------------------------
+    | x                                | name          |
+    ====================================================
+    | <http://somewhere/RebeccaSmith/> | "Becky Smith" |
+    | <http://somewhere/SarahJones/>   | "Sarah Jones" |
+    | <http://somewhere/JohnSmith/>    | "John Smith"  |
+    | <http://somewhere/MattJones/>    | "Matt Jones"  |
+    ----------------------------------------------------
+
+Até agora, com padrões de triplas e padrões básicos, cada variável será 
definida em cada solução. As soluções de uma consulta podem ser pensadas como 
uma tabela, mas no caso geral, é uma tabela onde nem sempre cada linha vai ter 
um valor para cada coluna. Todas as soluções para uma consulta SPARQL não têm 
que ter valores para todas as variáveis em todas as soluções como veremos 
depois.
+
+## Padrões Básicos
+
+Um padrão básico é um conjunto de padrões de triplas. Ele casa quando todo o 
padrão da tripla casa com o mesmo valor usado cada vez que a variável com o 
mesmo nome é usada.
+
+    SELECT ?givenName
+    WHERE
+      { ?y  <http://www.w3.org/2001/vcard-rdf/3.0#Family>  "Smith" .
+        ?y  <http://www.w3.org/2001/vcard-rdf/3.0#Given>  ?givenName .
+      }
+
+Essa consulta ([q-bp2.rq](sparql_data/q-bp2.rq))envolve dois padrões de 
triplas, cada tripla termina com '.' (mas o ponto depois do último pode ser 
omitido como foi omitido no exemplo de padrão de uma tripla). A variável y tem 
que ser a mesma para cada casamento de padrão de tripla. As soluções são:
+
+    -------------
+    | givenName |
+    =============
+    | "John"    |
+    | "Rebecca" |
+    -------------
+
+### QNames
+
+Aqui temos um mecanismo prático para escrever longas URIs usando prefixos. A 
consulta acima poderia ser escrita mais claramente como a consulta:
+([q-bp3.rq](sparql_data/q-bp3.rq)):
+
+    PREFIX vcard:      <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?givenName
+    WHERE
+     { ?y vcard:Family "Smith" .
+       ?y vcard:Given  ?givenName .
+     }
+
+Isso é um mecanismo de prefixagem – as duas partes do URI, da declaração do 
prefixo e da parte depois de ":" no qname são concatenadas. Isso não é 
exatamente como um qname XML é, mas usa as regras de RDF para transformar o 
qname numa URI concatenando as partes.
+
+### Blank Nodes
+
+Mude a consulta só para retornar y da seguinte forma:
+([q-bp4.rq](sparql_data/q-bp4.rq)) :
+
+    PREFIX vcard:      <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?y ?givenName
+    WHERE
+     { ?y vcard:Family "Smith" .
+       ?y vcard:Given  ?givenName .
+     }
+
+e os blank nodes aparecem
+
+    --------------------
+    | y    | givenName |
+    ====================
+    | _:b0 | "John"    |
+    | _:b1 | "Rebecca" |
+    --------------------
+
+como os estranhos qnames iniciados com  \_:. Isso não é o título interno do 
blank node – isso é o ARQ imprimindo-os, atribuindo \_:b0, \_:b1 para mostrar 
quando dois blank nodes são o mesmo. Aqui eles são diferentes. Isso não revela 
o título interno usado para um blank node, mas isso está disponível quando usar 
a API Java.
+
+[Próximo: Filtros](sparql_filters_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_basic_patterns_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/content/tutorials/sparql_optionals_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_optionals_pt.mdtext  (revision 0)
+++ trunk/content/tutorials/sparql_optionals_pt.mdtext  (working copy)
@@ -0,0 +1,143 @@
+Title:     Tutorial SPARQL - Informações Opcionais
+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.
+
+RDF é dado semi-estruturado então SPARQL tem a habilidade de consultá-lo, mas 
não para falhar quando o dado não existe. A consulta usa uma parte opcional 
para extender a informação encontrada na solução de uma consulta, mas para 
retornar a informação não opcional de qualquer maneira.
+
+## OPICIONAIS
+
+Essa consulta ([q-opt1.rq](sparql_data/q-opt1.rq)) pega o nome da pessoa e 
também sua idade se essa informação estiver disponível.
+
+    PREFIX info:    <http://somewhere/peopleInfo#>
+    PREFIX vcard:   <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name ?age
+    WHERE
+    {
+        ?person vcard:FN  ?name .
+        OPTIONAL { ?person info:age ?age }
+    }
+
+Duas das quatro pessoas nos dados ([vc-db-2.rdf](sparql_data/vc-db-2.rdf)) 
possui a propriedade idade, então duas das soluções da consulta têm essa 
informação. No entanto, já que o padrão de tripla para a idade é opcional, há 
uma solução padrão para a pessoa que não tiver informação sobre a idade.
+
+    ------------------------
+    | name          | age |
+    =======================
+    | "Becky Smith" | 23  |
+    | "Sarah Jones" |     |
+    | "John Smith"  | 25  |
+    | "Matt Jones"  |     |
+    -----------------------
+
+Se a clausula opcional não estivesse ali, nenhuma informação sobre idade seria 
retornada. Se o padrão da tripla fosse incluída, mas não fosse opcional, nós 
teríamos a consulta ([q-opt2.rq](sparql_data/q-opt2.rq)):
+
+    PREFIX info:   <http://somewhere/peopleInfo#>
+    PREFIX vcard:  <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name ?age
+    WHERE
+    {
+        ?person vcard:FN  ?name .
+        ?person info:age ?age .
+    }
+
+com os dois únicos resultados:
+
+    -----------------------
+    | name          | age |
+    =======================
+    | "Becky Smith" | 23  |
+    | "John Smith"  | 25  |
+    -----------------------
+
+porque a propriedade `info:age` deve estar presente na solução agora.  
+
+## OPCIONAIS com FILTROS
+
+`OPTIONAL` é um operador binário que combina dois padrões de grafo. O padrão 
opcional é qualquer padrão de grupo e deve envolver qualquer tipo de padrão 
SPARQL. Se o grupo casar, a solução é estendida, senão, a solução original é 
dada ([q-opt-3.rq](sparql_data/q-opt3.rq)).
+
+    PREFIX info:        <http://somewhere/peopleInfo#>
+    PREFIX vcard:      <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name ?age
+    WHERE
+    {
+        ?person vcard:FN  ?name .
+        OPTIONAL { ?person info:age ?age . FILTER ( ?age > 24 ) }
+    }
+
+Portanto, se filtrarmos por idades maiores que 24 na parte opcional, nós ainda 
teremos quatro soluções (do padrão `vcard:FN`) mas somente pegaremos idades se 
elas passarem no teste.
+       
+    -----------------------
+    | name          | age |
+    =======================
+    | "Becky Smith" |     |
+    | "Sarah Jones" |     |
+    | "John Smith"  | 25  |
+    | "Matt Jones"  |     |
+    -----------------------
+
+Idade não incluída para  "Becky Smith"  porque é menor que 24.
+       
+Se a condição do filtro é movida para a parte opcional, então isso pode 
influenciar no número de soluções, mas deve ser necessário fazer um filtro mais 
complicado para permitir que a varíavel `age` seja não limitada 
([q-opt4.rq](sparql_data/q-opt4.rq)).
+
+    PREFIX info:        <http://somewhere/peopleInfo#>
+    PREFIX vcard:      <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name ?age
+    WHERE
+    {
+        ?person vcard:FN  ?name .
+        OPTIONAL { ?person info:age ?age . }
+        FILTER ( !bound(?age) || ?age > 24 )
+    }
+
+Se a solução tiver uma varíavel `age`, então ela deve ser maior que 24. Isso 
também pode ser não limitado. Agora há 3 soluções:
+
+    -----------------------
+    | name          | age |
+    =======================
+    | "Sarah Jones" |     |
+    | "John Smith"  | 25  |
+    | "Matt Jones"  |     |
+    -----------------------
+
+Avaliar uma expressão que tem variáveis não limitadas onde uma variável 
limitada é esperada causa uma exceção de avaliação e toda a expressão falha.   
+       
+
+## OPCIONAIS e consultas dependentes de ordem
+
+Uma coisa a se ter cuidado ao usar a mesma varíavel em duas ou mais clausulas 
opcionais (e não em alguma padrão básico também):
+
+    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+    PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
+
+    SELECT ?name
+    WHERE
+    {
+      ?x a foaf:Person .
+      OPTIONAL { ?x foaf:name ?name }
+      OPTIONAL { ?x vCard:FN  ?name }
+    }
+
+Se a primeira opção liga `?name` e `?x` a algum valor, a segunda opção é uma 
tentativa de casar as outras triplas (`?x` e `<kbd>?name</kbd>` têm valor). Se 
a primeira opção não casar com a parte opcional, então a segunda é uma 
tentativa para casar a tripla com duas variáveis.
+
+ 
+[Próximo: União de Consultas](sparql_union_pt.html)
+
+
+

Property changes on: trunk/content/tutorials/sparql_optionals_pt.mdtext
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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
Index: trunk/content/tutorials/sparql_pt.mdtext
===================================================================
--- trunk/content/tutorials/sparql_pt.mdtext    (revision 0)
+++ trunk/content/tutorials/sparql_pt.mdtext    (working copy)
@@ -0,0 +1,54 @@
+Title:  Tutorial SPARQL 
+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.
+
+O objetivo deste tutorial é dar um curso rápido sobre SPARQL. Esse tutorial 
cobre os principais aspectos desta linguagem de consulta através de exemplos, 
mas não tem como objetivo ser completo.
+
+Se você estiver procurando uma pequena introdução a SPARQL e Jena, experimente 
+[Search RDF data with 
SPARQL](http://www.ibm.com/developerworks/xml/library/j-sparql/).  Se você quer 
executar consultas SPARQL e já sabe como ele funciona, então você deveria ler a 
[ARQ Documentation][1].
+
+[1]: http://jena.apache.org/documentation/query/index.html
+
+SPARQL is a
+[query language](http://www.w3.org/TR/sparql11-query/) e um
+[protocol](http://www.w3.org/TR/rdf-sparql-protocol/) para acesso a
+RDF elaborado pelo
+[W3C RDF Data Access Working Group](http://www.w3.org/2001/sw/DataAccess/). 
+
+Como uma linguagem de consulta, SPARQL é orientada a dados de forma que só 
consulta as informações presentes nos modelos, não há inferência propriamente 
dita nesta linguagem de consulta.  Por acaso, os modelos de Jena são 
“inteligentes” quanto a isso, e nos dá a impressão de que certas triplas são 
criadas sob demanda, incluindo raciocínio OWL. SPARQL nada mais faz do que 
pegar a descrição do que a aplicação quer, na forma de uma consulta, e retornar 
a informação, na forma de um conjunto de ligações ou grafo RDF.
+
+## Tutorial SPARQL 
+
+1.  [Preliminares: dados!](sparql_data_pt.html)
+2.  [Executando uma consulta simples](sparql_query1_pt.html)
+3.  [Padrões básicos](sparql_basic_patterns_pt.html)
+4.  [Restrição de valores](sparql_filters_pt.html)
+5.  [Informação opcional](sparql_optionals_pt.html)
+6.  [Alternativas](sparql_union_pt.html)
+7.  [Grafos nomeados](sparql_datasets_pt.html)
+8.  [Resultados](sparql_results_pt.html)
+
+## Outros Materiais
+
+-   [SPARQL query language definition 
document](http://www.w3.org/TR/sparql11-query/) -
+    contem muitos exemplos.
+-   [Search RDF data with 
SPARQL](http://www.ibm.com/developerworks/xml/library/j-sparql/)
+    (by Phil McCarthy) - artigo publicado por um desenvolvedor da IBM sobre 
SPARQL e Jena
+-   [Guia de referência SPARQL 
](http://www.ilrt.bris.ac.uk/people/cmdjb/2005/04-sparql/)
+    (por [Dave Beckett](http://www.ilrt.bristol.ac.uk/people/cmdjb/))
+
+Detalhado [ARQ documentation](/documentation/query/)
\ No newline at end of file

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

Reply via email to