$catalog
O catálogo descreve todos os dataclasses e atributos disponíveis na datastore.
Sintaxe disponível
| Sintaxe | Exemplo | Descrição | 
|---|---|---|
| $catalog | /$catalog | Devolve uma lista dos valores de referência do seu projecto juntamente com dois URIs | 
| $catalog/$all | /$catalog/$all | Devolve informação sobre todos os dataclasses do seu projecto e os seus atributos | 
| $catalog/{dataClass} | /$catalog/Employee | Retorna informação sobre um dataclass e os seus atributos | 
$catalog
Devolve uma lista dos dados do seu projecto juntamente com dois URIs: um para aceder à informação sobre a sua estrutura e outro para recuperar os dados no dataclass
Descrição
Quando chama $catalog, é devolvida uma lista dos dataclasses juntamente com dois URIs para cada dataclass no datastore do seu projecto.
Nesta lista apenas são mostrados os dataclasses expostos para a datastore do seu projecto. Para mais informações, consulte por favor secção de tabelas e campos de exposição .
Aqui está uma descrição das propriedades devolvidas para cada dataclass na datastore do seu projecto:
| Propriedade | Tipo | Descrição | 
|---|---|---|
| name | Text | Nome da dataclass. | 
| uri | Text | Um URI que lhe permite obter informações sobre o | 
| dataURI | Text | Uma URI que lhe permite visualizar os dados no dataclass. | 
Exemplo
GET  /rest/$catalog
Resultadoi:
{
    dataClasses: [
        {
            name: "Company",
            uri: "http://127.0.0.1:8081/rest/$catalog/Company",
            dataURI: "http://127.0.0.1:8081/rest/Company"
        },
        {
            name: "Employee",
            uri: "http://127.0.0.1:8081/rest/$catalog/Employee",
            dataURI: "http://127.0.0.1:8081/rest/Employee"
        }
    ]
}
$catalog/$all
Devolve informação sobre todos os dataclasses do seu projecto e os seus atributos
Descrição
Chamando $catalog/$all pode reciber informação detalhada sobre os atributos de cada uma das classes de dados do modelo ativo de projeto.
Para saber mais sobre o que se devolve para cada classe de dados e seus atributos, utilize $catalog/{dataClass}.
Exemplo
GET  /rest/$catalog/$all
Resultadoi:
{
    "dataClasses": [
        {
            "name": "Company",
            "className": "Company",
            "collectionName": "CompanySelection",
            "tableNumber": 2,
            "scope": "public",
            "dataURI": "/rest/Company",
            "attributes": [
                {
                    "name": "ID",
                    "kind": "storage",
                    "fieldPos": 1,
                    "scope": "public",
                    "indexed": true,
                    "type": "long",
                    "identifying": true
                },
                {
                    "name": "name",
                    "kind": "storage",
                    "fieldPos": 2,
                    "scope": "public",
                    "type": "string"
                },
                {
                    "name": "revenues",
                    "kind": "storage",
                    "fieldPos": 3,
                    "scope": "public",
                    "type": "number"
                },
                {
                    "name": "staff",
                    "kind": "relatedEntities",
                    "fieldPos": 4,
                    "scope": "public",
                    "type": "EmployeeSelection",
                    "reversePath": true,
                    "path": "employer"
                },
                {
                    "name": "url",
                    "kind": "storage",
                    "scope": "public",
                    "type": "string"
                }
            ],
            "key": [
                {
                    "name": "ID"
                }
            ]
        },
        {
            "name": "Employee",
            "className": "Employee",
            "collectionName": "EmployeeSelection",
            "tableNumber": 1,
            "scope": "public",
            "dataURI": "/rest/Employee",
            "attributes": [
                {
                    "name": "ID",
                    "kind": "storage",
                    "scope": "public",
                    "indexed": true,
                    "type": "long",
                    "identifying": true
                },
                {
                    "name": "firstname",
                    "kind": "storage",
                    "scope": "public",
                    "type": "string"
                },
                {
                    "name": "lastname",
                    "kind": "storage",
                    "scope": "public",
                    "type": "string"
                },
                {
                    "name": "employer",
                    "kind": "relatedEntity",
                    "scope": "public",
                    "type": "Company",
                    "path":
$catalog/{dataClass}
Retorna informação sobre um dataclass e os seus atributos
Descrição
Chamando $catalog/\{dataClass\} para um dataclass específico devolverá a seguinte informação sobre o dataclass e os atributos que este contém. Se quiser recuperar essa informação para todas as classes de dados do armazém de dados de seu projeto, use $catalog/$all.
A informação que recupera diz respeito ao seguinte:
- Dataclass
 - Atributo(s)
 - Método(s), caso exista(m)
 - Chave primária
 
DataClass
As seguintes propriedades são devolvidas para um dataclass exposto:
| Propriedade | Tipo | Descrição | 
|---|---|---|
| name | Text | Nome da dataclass | 
| collectionName | Text | Nome de uma selecção de entidade no dataclass | 
| tableNumber | Number | Número da tabela na base de dados 4D | 
| scope | Text | Alcance da classe de dados (lembre que só são mostradas as classes de dados cujo Alcance for público) | 
| dataURI | Text | Um URI para os dados no dataclass | 
Atributo(s)
Aqui estão as propriedades para cada atributo exposto que são devolvidas:
| Propriedade | Tipo | Descrição | 
|---|---|---|
| name | Text | o nome de atributo. | 
| kind | Text | Tipo de atributo (armazenamento ou relatedEntity). | 
| fieldPos | Number | Posição do campo na tabela da base de dados). | 
| scope | Text | Âmbito do atributo (apenas aparecerão os atributos cujo âmbito seja Público). | 
| indexed | Text | Se algum Index Kind foi seleccionado, esta propriedade voltará a ser verdadeira. Caso contrário, esta propriedade não aparece. | 
| type | Text | Tipo de atributo (booleano, blob, byte, data, duração, imagem, long, long64, número, string, uuid ou palavra) ou a classe de dados para um atributo de relação N->1. | 
| identifying | Parâmetros | Esta propriedade retorna True se o atributo for a chave primária. Caso contrário, esta propriedade não aparece. | 
| path | Text | Nome da relação de um atributo relatedEntity ou relateEntities. | 
| foreignKey | Text | foreignKey | 
| inverseName | Text | inverseName | 
Chave primária
O objeto chave devolve o nome do atributo name definido como chave primária para a classe de dados.
Exemplo
Pode recuperar a informação relativa a uma classe de dados específica.
GET  /rest/$catalog/Employee
Resultadoi:
{
    name: "Employee",
    className: "Employee",
    collectionName: "EmployeeCollection",
    scope: "public",
    dataURI: "http://127.0.0.1:8081/rest/Employee",
    defaultTopSize: 20,
    extraProperties: {
        panelColor: "#76923C",
        __CDATA: "\n\n\t\t\n",
        panel: {
            isOpen: "true",
            pathVisible: "true",
            __CDATA: "\n\n\t\t\t\n",
            position: {
                X: "394",
                Y: "42"
            }
        }
    },
    attributes: [
        {
            name: "ID",
            kind: "storage",
            scope: "public",
            indexed: true,
            type: "long",
            identifying: true
        },
        {
            name: "firstName",
            kind: "storage",
            scope: "public",
            type: "string"
        },
        {
            name: "lastName",
            kind: "storage",
            scope: "public",
            type: "string"
        },
        {
            name: "fullName",
            kind: "calculated",
            scope: "public",
            type: "string",
            readOnly: true
        },
        {
            name: "salary",
            kind: "storage",
            scope: "public",
            type: "number",
            defaultFormat: {
                format: "$###,###.00"
            }
        },
        {
            name: "photo",
            kind: "storage",
            scope: "public",
            type: "image"
        },
        {
            name: "employer",
            kind: "relatedEntity",
            scope: "public",
            type: "Company",
            path: "Company"
        },
        {
            name: "employerName",
            kind: "alias",
            scope: "public",
            type: "string",
            path: "employer.name",
            readOnly: true
        },
        {
            name: "description",
            kind: "storage",
            scope: "public",
            type: "string",
            multiLine: true
        },
   ],
    key: [
        {
            name: