1 Synesis: Guia de Referência da Linguagem
Versão 1.1
1.1 Introdução
1.1.1 Definição
Synesis é uma Domain-Specific Language (DSL) declarativa para formalização, validação e compilação de corpora analíticos de pesquisas qualitativas. O compilador transforma anotações interpretativas em estruturas canônicas, assegurando inteligibilidade humana e rigor formal.
1.1.2 O que o Compilador Faz
- Valida sintaxe e semântica de anotações
- Gera AST (Abstract Syntax Tree)
- Produz formatos estruturados básicos (JSON, CSV, Excel)
- Normaliza conceitos via templates configuráveis
1.1.3 O que o Compilador NÃO Faz
- Não é runtime ou sistema de execução
- Não realiza análise estatística
- Não gerencia interface de usuário
- Não persiste estado entre execuções
- Não cria a estrutura dos dados para você
1.1.4 Fronteiras Rígidas
O compilador processa arquivos de texto, produz artefatos estruturados e termina. Não há estado persistente, loops condicionais ou side-effects além da escrita de arquivos de saída.
1.2 Arquivos e Formatos
1.2.1 Arquivos de Entrada
| Extensão | Descrição |
|---|---|
.synp |
Arquivo de projeto (ponto de entrada único) |
.syn |
Arquivos de anotação (SOURCE + ITEM) |
.syno |
Arquivos de ontologia (ONTOLOGY) |
.synt |
Arquivo de template (FIELD definitions) |
.bib |
Referências BibTeX/BibLaTeX |
1.2.2 Arquivos de Saída
| Formato | Descrição |
|---|---|
| JSON | Representação serializada completa (inclui location em todos os nós) |
| CSV | Tabelas planas por tipo de bloco (inclui colunas source_file, source_line, source_column) |
| Excel | Tabelas planas como abas |
| MS-Word | Corpora em forma MS-Word |
| REFI-QDA | Formato padrão de interoperabilidade em softwares CAQDAS |
| Diagnósticos | Relatório de erros com localização precisa |
1.2.3 Rastreabilidade em CSV
Cada linha CSV de ITEM, CHAIN ou ONTOLOGY inclui colunas de localização:
bibref,from_code,relation,to_code,source_file,source_line,source_column
ashworth2019,Gender,INFLUENCES,CCS Support,annotations/ccs.syn,367,11
1.2.4 Invariantes do Compilador
- Compilação determinística: mesma entrada produz mesma saída
- Erros reportados com arquivo, linha, coluna e contexto
- Compilação parcial pode emitir apenas diagnósticos e/ou AST parcial (não exporta JSON/CSV/Excel)
- Artefatos finais (JSON, CSV) gerados apenas mediante compilação completa
- Validação de referências bibliográficas é obrigatória
- Vocabulário controlado: todo CODE e todo conceito referenciado em CHAIN deve existir como ONTOLOGY
(exceto se o projeto ativar explicitamente um modo exploratório).
1.3 Estrutura do Projeto (.synp)
O arquivo de projeto orquestra os componentes da análise e serve como ponto de entrada único para o compilador.
1.3.1 Sintaxe
PROJECT project_name
TEMPLATE "filename.synt"
INCLUDE BIBLIOGRAPHY "filename.bib"
INCLUDE ANNOTATIONS "filename.syn"
INCLUDE ONTOLOGY "filename.syno"
# Colchetes indicam que todo o bloco METADATA é opcional
[METADATA
version: 1.0
author: string
[created: date] # Campo individual opcional
[modified: date] # Campo individual opcional
[dataset: string]
END METADATA]
# Colchetes indicam que todo o bloco DESCRIPTION é opcional
[DESCRIPTION
Texto livre descrevendo o projeto...
END DESCRIPTION]
END PROJECT1.3.2 Semântica
- PROJECT: Palavra-chave obrigatória que inicia a definição do projeto
- TEMPLATE: Referência ao arquivo
.syntque define as regras de validação - INCLUDE BIBLIOGRAPHY: Caminho para arquivo
.bibcom referências - INCLUDE ANNOTATIONS: Caminho para arquivo(s)
.syncom anotações - INCLUDE ONTOLOGY: Caminho para arquivo(s)
.synocom definições ontológicas - METADATA: Bloco opcional com metadados do projeto
- DESCRIPTION: Bloco opcional com descrição livre do projeto
1.4 Definição de Template (.synt)
O template define a estrutura e regras de validação para anotações.
1.4.1 Cabeçalho do Template
TEMPLATE name
[version: "string"]
[author: "string"]1.4.2 Blocos de Campos
SOURCE FIELDS
[REQUIRED | BUNDLE | OPTIONAL] field_name [,field_name] ...
END SOURCE FIELDSITEM FIELDS
[REQUIRED | BUNDLE | OPTIONAL] field_name [,field_name] ...
END ITEM FIELDSONTOLOGY FIELDS
[REQUIRED | OPTIONAL | BUNDLE] field_name [,field_name] ...
END ONTOLOGY FIELDS1.4.3 Exemplo Completo
TEMPLATE qualitative_analysis
version: "1.0"
author: "Researcher"
# ============================================
# CAMPOS DE SOURCE
# ============================================
SOURCE FIELDS
OPTIONAL access_date
END SOURCE FIELDS
FIELD access_date TYPE DATE
SCOPE SOURCE
DESCRIPTION Data de acesso a fonte
END FIELD
# ============================================
# CAMPOS DE ITEM
# ============================================
ITEM FIELDS
REQUIRED quote
REQUIRED BUNDLE note, chain
OPTIONAL code
END ITEM FIELDS
FIELD quote TYPE QUOTATION
SCOPE ITEM
DESCRIPTION Excerto textual extraído da fonte bibliográfica
END FIELD
FIELD note TYPE MEMO
SCOPE ITEM
DESCRIPTION Memo analítico explicando a interpretação e mecanismo causal identificado
END FIELD
FIELD chain TYPE CHAIN
SCOPE ITEM
ARITY >= 2
DESCRIPTION Cadeia causal/relacional entre conceitos da ontologia
RELATIONS
ENABLES: Condição necessária ou facilitadora (A permite que B ocorra)
INFLUENCES: Efeito causal direto (A afeta ou muda B)
CONSTRAINS: Limita ou restringe (A reduz opções ou viabilidade de B)
CONTESTED-BY: Oposição ativa (A é contestado ou desafiado por B)
RELATES-TO: Associação significativa genérica (A está relacionado a B)
END RELATIONS
END FIELD
# ============================================
# CAMPOS DE ONTOLOGY
# ============================================
ONTOLOGY FIELDS
REQUIRED description
OPTIONAL topic
END ONTOLOGY FIELDS
FIELD description TYPE TEXT
SCOPE ONTOLOGY
DESCRIPTION Definição textual do conceito
END FIELD
FIELD topic TYPE TOPIC
SCOPE ONTOLOGY
DESCRIPTION Tópico ou domínio temático do conceito (categoria hierárquica superior dinâmica)
END FIELD1.5 Definição de Campos (FIELD)
A declaração FIELD especifica o tipo, escopo e restrições de cada campo.
1.5.1 Sintaxe
FIELD field_name TYPE [TEXT | QUOTATION | MEMO | CHAIN | CODE | TOPIC | ORDERED | ENUMERATED | SCALE | DATE]
SCOPE [SOURCE | ITEM | ONTOLOGY]
[DESCRIPTION description text]
# Propriedade exclusiva para TYPE CHAIN
[ARITY operator number]
[RELATIONS
relation_name: description
END RELATIONS]
# Propriedade exclusiva para TYPE ORDERED ou ENUMERATED
[VALUES
[index] value_name: description # Para ORDERED
value_name: description # Para ENUMERATED
END VALUES]
# Propriedade exclusiva para TYPE SCALE
[FORMAT [min..max]]
# Disponível para qualquer tipo — instrução para agentes de IA
[GUIDELINES
Texto livre com instruções de preenchimento para o anotador ou agente de IA.
Múltiplas linhas são permitidas. Recuo é ignorado.
END GUIDELINES]
END FIELD1.5.2 Exemplo Completo de FIELD
FIELD chain TYPE CHAIN
SCOPE ITEM
DESCRIPTION Cadeia causal entre conceitos
ARITY >= 2
RELATIONS
INFLUENCES: Relação de influência causal
ENABLES: Relação de habilitação
INHIBITS: Relação de inibição
END RELATIONS
END FIELD
FIELD aspect TYPE ORDERED
SCOPE ONTOLOGY
DESCRIPTION Aspecto modal de Dooyeweerd
VALUES
1 quantitative: Aspecto numérico
2 spatial: Aspecto espacial
3 kinematic: Aspecto cinético
4 physical: Aspecto físico
5 biotic: Aspecto biótico
END VALUES
END FIELD
FIELD sentiment TYPE ENUMERATED
SCOPE ITEM
DESCRIPTION Sentimento expresso no excerto
VALUES
positive: Sentimento positivo
negative: Sentimento negativo
neutral: Sentimento neutro
END VALUES
END FIELD
FIELD confidence TYPE SCALE
SCOPE ITEM
DESCRIPTION Nível de confiança da interpretação
FORMAT [1..5]
END FIELD
FIELD quote TYPE QUOTATION
SCOPE ITEM
DESCRIPTION Excerto textual extraído da fonte
GUIDELINES
Extract the exact verbatim quote from the source text.
Do not paraphrase or summarize — preserve the original wording.
Include enough context for the quote to be self-explanatory.
Omit only if the passage is not quotable (e.g., tables, figures).
END GUIDELINES
END FIELD1.5.3 Bloco GUIDELINES
O bloco GUIDELINES é um especificador opcional disponível em qualquer definição FIELD. Seu conteúdo é texto livre com instruções precisas sobre como o campo deve ser preenchido — destinado a agentes de IA ou anotadores humanos.
1.5.3.1 Propósito
GUIDELINES transforma o template de um esquema de dados em um playbook executável: em vez de instruções genéricas fornecidas separadamente à IA, cada campo carrega suas próprias regras de extração. Isso permite:
- Prompt atômico por campo: A IA recebe instruções específicas para cada entidade, reduzindo ambiguidade
- Rastreabilidade de decisões: As regras de extração estão codificadas no template, junto à estrutura, versionadas e auditáveis
- Ciclo de feedback estruturado: A IA gera código Synesis → o compilador valida → erros de validação servem como instrução de correção automática
1.5.3.2 Sintaxe
FIELD field_name TYPE type
SCOPE scope
GUIDELINES
Linha 1 de instrução.
Linha 2 de instrução.
Linha N de instrução.
END GUIDELINES
END FIELD1.5.3.3 Semântica
- O conteúdo é texto livre — qualquer caractere é permitido
- Múltiplas linhas são preservadas com suas quebras de linha
- Recuo interno é ignorado (as linhas são dedentadas automaticamente)
- Um bloco vazio (
GUIDELINESimediatamente seguido deEND GUIDELINES) resulta em valornullno JSON exportado - O valor compilado é exportado no campo
"guidelines"do JSON de cadaFieldSpec - O compilador não interpreta nem valida o conteúdo — é tratado como dado opaco
1.5.3.4 Exemplo de uso com IA
FIELD note TYPE MEMO
SCOPE ITEM
DESCRIPTION Memo analítico do mecanismo causal identificado
GUIDELINES
Identify the causal mechanism linking the quote to the research question.
State the mechanism in one sentence: "[Factor] [verb] [outcome] because [reason]."
Ground the interpretation in the text — do not infer beyond what is stated.
If causality is ambiguous, describe the relationship as associative.
END GUIDELINES
END FIELD
FIELD chain TYPE CHAIN
SCOPE ITEM
ARITY >= 2
RELATIONS
INFLUENCES: Efeito causal direto
ENABLES: Condição necessária ou facilitadora
INHIBITS: Limitação ou restrição
END RELATIONS
GUIDELINES
Map the causal structure identified in the note field as a formal chain.
Use only concepts that exist in the ontology (ONTOLOGY blocks).
Chain elements at odd positions must be concept names; even positions must be RELATIONS.
Prefer specific relations (ENABLES, INHIBITS) over generic ones (INFLUENCES).
END GUIDELINES
END FIELD1.6 Tipos de Campo
1.6.1 Tabela de Tipos
| Tipo | Escopo | Semântica |
|---|---|---|
| QUOTATION | ITEM | Excerto textual da fonte |
| MEMO | ITEM | Anotação analítica do pesquisador |
| CODE | ITEM | Rótulo conceitual (categorização) |
| CHAIN | ITEM | Relação qualificada entre códigos |
| TEXT | qualquer | Texto livre genérico |
| DATE | SOURCE | Data com formato especificado |
| SCALE | qualquer | Valor numérico em intervalo [min..max] |
| ENUMERATED | qualquer | Valor de lista fechada sem hierarquia |
| ORDERED | qualquer | Valor de lista com hierarquia ordinal indexada |
| TOPIC | ONTOLOGY | Categoria hierárquica superior (agrupamento dinâmico) |
1.6.2 Distinção: Linguagem vs Template
| Nível | FIXO (linguagem) | CONFIGURÁVEL (template) |
|---|---|---|
| Palavras-chave | SOURCE, ITEM, ONTOLOGY, FIELD, END |
Nomes de campos como aspect, quote |
| Tipos de dados | QUOTATION, MEMO, CODE, CHAIN, TEXT, etc. |
Valores em listas ORDERED/ENUMERATED |
| Estrutura | Blocos SOURCE/ITEM/ONTOLOGY, sintaxe FIELD…END | Quais campos são REQUIRED/OPTIONAL |
| Modificadores | BUNDLE, REQUIRED, OPTIONAL, SCOPE, TYPE |
Quais campos usar BUNDLE |
1.7 Blocos Estruturais
1.7.1 SOURCE
Contextualiza ITEMs com referência bibliográfica. Cada SOURCE referencia exatamente uma entrada do arquivo .bib.
SOURCE @bibref # ← Referência obrigatória ao .bib
[field_name: value] # ← Campos opcionais do SOURCE
...
END SOURCE
ITEM @bibref # ← Um ou mais ITEMs obrigatórios
...
END ITEMExemplo anotado:
SOURCE @smith2023 # ← Deve existir em referencias.bib
access_date: 2025-01-15 # ← Campo opcional definido no template
END SOURCE # ← Fecha o bloco SOURCE
ITEM @smith2023 # ← Primeiro item de análise
quote: "The technology shows promising results."
note: Autor expressa otimismo sobre resultados
chain: Technology -> INFLUENCES -> Acceptance
END ITEM1.7.2 ITEM
Unidade analítica fundamental. Contém excerto, memos, códigos e/ou cadeias. Pertence a exatamente um SOURCE.
ITEM [@bibref] # ← Referência ao SOURCE pai
field_name: value # ← Um ou mais campos obrigatórios
[field_name: value] ... # ← Campos adicionais conforme template
END ITEMExemplo anotado:
ITEM @ref2025 # ← Referência para rastreabilidade
quote: Texto extraído # ← Campo obrigatório (QUOTATION)
note: Primeira interp. # ← Primeiro par do BUNDLE
chain: A -> INFLUENCES -> B
note: Segunda interp. # ← Segundo par do BUNDLE (mesma quantidade)
chain: C -> ENABLES -> D
END ITEM # ← Fecha o bloco ITEM1.7.3 ONTOLOGY
Define conceito do vocabulário controlado. Estrutura plana com possibilidade de hierarquia.
ONTOLOGY concept_name # ← Nome do conceito (não pode conter espaços)
field_name: value # ← Um ou mais campos obrigatórios
[field_name: value] ... # ← Campos adicionais conforme template
END ONTOLOGYExemplo anotado:
ONTOLOGY Cost # ← Nome simples (sem espaços)
topic: Economics # ← Agrupamento dinâmico (TOPIC)
description: Economic factor representing financial expenditure
END ONTOLOGY
ONTOLOGY Public_Acceptance # ← Nome sem espaços (sem aspas)
topic: Social_Factors # ← Mesmo topic agrupa conceitos relacionados
description: Community-level support for technology
END ONTOLOGY1.8 Cadeias Semânticas (CHAIN)
1.8.1 Chain Qualificada
Quando o template define RELATIONS, a cadeia usa o padrão: posições ímpares são códigos, posições pares são tipos de relação.
chain: Code -> RELATION -> Code [-> RELATION -> Code] ...
# ^^^^ ^^^^^^^^ ^^^^
# código relação código (padrão alternado)Exemplo anotado:
chain: Climate_Belief -> INFLUENCES -> Support
# ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^
# código (origem) relação código (destino)
chain: A -> INFLUENCES -> B -> ENABLES -> C
# ^ ^^^^^^^^^^ ^ ^^^^^^^ ^
# cod1 rel1 cod2 rel2 cod3 (cadeia estendida)1.8.2 Chain Simples
Quando o template NÃO define RELATIONS, apenas códigos são separados por ->. A relação é implícita.
chain: Code -> Code [-> Code] ...
# ^^^^ ^^^^
# origem destino (relação implícita entre cada par)Exemplo anotado:
chain: A -> B # ← Relação implícita: A relaciona-se com B
chain: A -> B -> C # ← Duas relações implícitas: A→B e B→C1.8.3 Conceitos sem aspas
O parser captura conceitos compostos sem exigir aspas, mas é preciso evitar espaços.
Anotação incorreta:
chain: Institutional Barrier -> ENABLES -> Financial Barrier
# ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
# conceito com espaços conceito com espaçosAnotação correta
chain: Public_Acceptance -> INFLUENCES -> CCS_Support -> ENABLES -> Deployment
# ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^
# 2 palavras 2 palavras 1 palavra1.9 Modificador BUNDLE
O modificador BUNDLE define grupos de campos que formam unidade mínima repetível de interpretação.
1.9.1 Sintaxe
ITEM FIELDS
REQUIRED BUNDLE field_name, field_name [,field_name] ...
# ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^
# modif. campo1 campo2 (devem aparecer juntos)
END ITEM FIELDS1.9.2 Semântica
- Campos em BUNDLE são obrigatórios como unidade indivisível
- Mínimo 1 ocorrência do bundle completo
- Campos do bundle nunca aparecem isoladamente
- Devem aparecer em igual quantidade:
len(field1) == len(field2) == len(field3) >= 1 - Correspondência posicional:
field1[i]relaciona-se comfield2[i]efield3[i]
1.9.3 Exemplo Anotado
ITEM @ref2025
quote: Texto extraído da fonte # ← Campo independente
note: Primeira interpretação # ← bundle[0].note
chain: A -> INFLUENCES -> B # ← bundle[0].chain (par 1)
note: Segunda interpretação # ← bundle[1].note
chain: C -> ENABLES -> D # ← bundle[1].chain (par 2)
END ITEM
# Resultado: 2 pares note+chain, correspondência posicional garantida1.9.4 Validação
- Campo isolado de bundle: erro
- Contagens diferentes: erro
- Ausência completa de bundle obrigatório: erro
- Violação de BUNDLE gera erro de compilação (não warning)
1.10 Tipo TOPIC
O tipo TOPIC permite definir categorias hierárquicas superiores que agrupam conceitos ontológicos de forma dinâmica, sem pré-definição no template.
1.10.1 Diferença de ENUMERATED
| Característica | ENUMERATED | TOPIC |
|---|---|---|
| Valores permitidos | Lista fechada pré-definida | Aberto, dinâmico |
| Uso | Categorização controlada | Agrupamento emergente |
| Validação | Rejeita valores fora da lista | Aceita qualquer string |
1.10.2 Exemplo Anotado
ONTOLOGY Cost
topic: Economics # ← Categoria emergente (não pré-definida)
description: Economic factor representing financial expenditure
END ONTOLOGY
ONTOLOGY Public_Acceptance
topic: Social_Factors # ← Outra categoria emergente
description: Community-level support for technology
END ONTOLOGY
# Resultado: dois topics criados dinamicamente (Economics, Social Factors)
# O compilador aceita qualquer string sem espaços como valor de TOPIC1.11 Pipeline de Compilação
1.11.1 Etapas Obrigatórias
| # | Etapa | Responsabilidade |
|---|---|---|
| 1 | Descoberta | Ler .synp, resolver caminhos, listar arquivos |
| 2 | Template Loading | Parsear e validar .synt (define regras) |
| 3 | BibTeX Loading | Carregar .bib, construir índice de referências |
| 4 | Parsing Sintático | Lark processa cada arquivo .syn e .syno |
| 5 | Transformação | Converter árvores concretas em AST tipada |
| 6 | Validação Semântica | Verificar referências, tipos, campos obrigatórios |
| 7 | Normalização | Aplicar defaults, canonicalização de valores |
| 8 | Vinculação | Associar ITEMs a SOURCEs, CODEs e CHAINs a ONTOLOGYs |
| 9 | Vinculação | Verificar que todo code: referencia um conceito existente na ontologia |
| 10 | Vinculação | Verificar que todo nó de chain: (códigos nas posições ímpares) referencia um conceito existente na ontologia |
| 11 | Vinculação | Verificar que toda RELATION usada na chain existe em RELATIONS do template |
| 12 | Exportação | Gerar JSON, CSV, MS-Word, REFI-QDA |
1.11.2 Ordem de Dependência
Projeto = Template + BibTeX + Anotações + Ontologia
O parser lê tudo, depois valida/resolve a consistência.
1.12 Error Handling Pedagógico
1.12.1 Princípio de Design
O compilador prioriza mensagens de erro educativas que ensinam a sintaxe correta sem exigir leitura do manual.
1.12.2 Detector de “Vírgula Ausente” em Listas CODE
Erro comum:
code: Climate_Belief Risk_Perception # ERRO: falta vírgulaMensagem sugerida:
erro: arquivo.syn:3:26: Múltiplos códigos devem ser separados por vírgula.
code: Climate_Belief Risk_Perception
^~~~ falta vírgula antes de "Risk"
Use vírgula para separar códigos:
code: Climate_Belief, Risk_Perception
OU especifique cada código em linha separada:
code: Climate_Belief
code: Risk_Perception
1.12.3 Detector de “Cadeia Malformada” em CHAIN
Erro comum:
chain: Climate_Belief INFLUENCES Support # ERRO: falta "->"Mensagem sugerida:
erro: arquivo.syn:2:27: Cadeia causal exige operador '->' entre elementos.
chain: Climate_Belief INFLUENCES Support
^~~~~~~~~~~ falta '->' antes de "INFLUENCES"
Use '->' para conectar elementos:
chain: Climate_Belief -> INFLUENCES -> Support
1.13 Referência Rápida de Palavras-Chave
1.13.1 Palavras-Chave de Estrutura
| Palavra-chave | Descrição |
|---|---|
PROJECT |
Inicia definição de projeto |
TEMPLATE |
Referência ao arquivo de template ou início de definição |
SOURCE |
Bloco de fonte bibliográfica |
ITEM |
Unidade analítica |
ONTOLOGY |
Definição de conceito |
FIELD |
Definição de campo |
END |
Encerra qualquer bloco (necessita qualificação) |
1.13.2 Palavras-Chave de Inclusão
| Palavra-chave | Descrição |
|---|---|
INCLUDE |
Inclui arquivo externo |
BIBLIOGRAPHY |
Tipo de inclusão para .bib |
ANNOTATIONS |
Tipo de inclusão para .syn |
1.13.3 Modificadores de Campo
| Modificador | Descrição |
|---|---|
REQUIRED |
Campo obrigatório |
OPTIONAL |
Campo opcional |
BUNDLE |
Grupo de campos obrigatórios como unidade |
1.13.4 Especificadores de Campo
| Especificador | Descrição |
|---|---|
TYPE |
Define o tipo do campo |
SCOPE |
Define o escopo (SOURCE, ITEM, ONTOLOGY) |
DESCRIPTION |
Texto descritivo do campo |
ARITY |
Restrição de aridade para CHAIN |
RELATIONS |
Lista de relações para CHAIN |
VALUES |
Lista de valores para ORDERED/ENUMERATED |
FORMAT |
Formato para SCALE |
GUIDELINES |
Instruções de preenchimento para o anotador ou agente de IA (qualquer tipo) |
1.14 Seções (Sugeridas para Expansão da documentação)
As seções abaixo estão indicadas como tópicos para desenvolvimento futuro do guia.
1.14.1 Validação de Referências Bibliográficas
Como o compilador valida que cada
@bibrefexiste no arquivo .bib incluído.
1.14.2 Normalização e Canonicalização
Regras para normalização de valores e conceitos via template.
1.14.3 Exportação para JSON
Estrutura do JSON gerado, incluindo campos
locationpara rastreabilidade.
1.14.4 Exportação para CSV
Formato das tabelas planas por tipo de bloco, colunas de rastreabilidade.
1.14.5 Exportação para Excel
Organização de abas por tipo de bloco.
1.14.6 Integração com Lark Parser
Detalhes técnicos do parser utilizado para processamento sintático.
1.14.7 Exemplos Completos de Projetos
Projetos exemplo demonstrando uso integrado de todos os componentes.
1.14.8 Boas Práticas de Anotação
Recomendações para estruturação consistente de anotações qualitativas.
1.15 Apêndice A: Sintaxe Consolidada
1.15.1 Projeto (.synp)
PROJECT project_name # ← Nome do projeto (obrigatório)
TEMPLATE "filename.synt" # ← Arquivo de template (obrigatório)
INCLUDE BIBLIOGRAPHY "filename.bib" # ← Referências BibTeX
INCLUDE ANNOTATIONS "filename.syn" # ← Arquivos de anotação
INCLUDE ONTOLOGY "filename.syno" # ← Arquivos de ontologia
[METADATA # ← Bloco opcional
version: 1.0
author: string
[created: date] # ← Campo opcional dentro do bloco
[modified: date]
[dataset: string]
END METADATA]
[DESCRIPTION # ← Bloco opcional
Texto livre descrevendo o projeto...
END DESCRIPTION]
END PROJECT # ← Fecha o PROJECT1.15.2 Template (.synt)
TEMPLATE name # ← Nome do template (obrigatório)
[version: "string"] # ← Metadado opcional
[author: "string"]
SOURCE FIELDS # ← Campos válidos em blocos SOURCE
[REQUIRED | BUNDLE | OPTIONAL] field_name [,field_name] ...
END SOURCE FIELDS
ITEM FIELDS # ← Campos válidos em blocos ITEM
[REQUIRED | BUNDLE | OPTIONAL] field_name [,field_name] ...
END ITEM FIELDS
ONTOLOGY FIELDS # ← Campos válidos em blocos ONTOLOGY
[REQUIRED | OPTIONAL | BUNDLE] field_name [,field_name] ...
END ONTOLOGY FIELDS
FIELD field_name TYPE [TEXT | QUOTATION | MEMO | CHAIN | CODE | TOPIC | ORDERED | ENUMERATED | SCALE]
SCOPE [SOURCE | ITEM | ONTOLOGY] # ← Onde o campo pode ser usado
[DESCRIPTION description text]
[ARITY operator number] # ← Apenas para CHAIN
[RELATIONS # ← Apenas para CHAIN
relation_name: description
END RELATIONS]
[VALUES # ← Apenas para ORDERED/ENUMERATED
[index] value_name: description
END VALUES]
[FORMAT [min..max]] # ← Apenas para SCALE
[GUIDELINES # ← Qualquer tipo — instrução para anotador ou IA
Texto livre com instruções de preenchimento.
Múltiplas linhas permitidas.
END GUIDELINES]
END FIELD1.15.3 Anotações (.syn)
SOURCE @bibref # ← Referência ao .bib (obrigatório)
[field_name: value] # ← Campos do SOURCE (conforme template)
END SOURCE
ITEM @bibref # ← Referência ao .bib (obrigatório)
field_name: value # ← Campos obrigatórios
[field_name: value] ... # ← Campos opcionais
END ITEM1.15.4 Ontologia (.syno)
ONTOLOGY concept_name # ← Nome do conceito (sem espaços)
field_name: value # ← Campos obrigatórios
[field_name: value] ... # ← Campos opcionais
END ONTOLOGY1.15.5 Cadeias (CHAIN)
# Chain qualificada (com RELATIONS definidas no template)
chain: Code -> RELATION -> Code [-> RELATION -> Code] ...
# ^^^^ ^^^^^^^^ ^^^^
# código relação código (padrão alternado obrigatório)
# Chain simples (sem RELATIONS no template)
chain: Code -> Code [-> Code] ...
# ^^^^ ^^^^
# origem destino (relação implícita)Documento gerado a partir da especificação Synesis v1.1