Ceci est une ancienne révision du document !


Champs des fiches

Les champs des fiches constituent la masse la plus importante de données susceptibles d'être transmise par les différentes requêtes. La liste des champs à transmettre doit donc être indiquée par le paramètre fichefields. La requête renverra toujours au minimum le code de la fiche.

La valeur du paramètre fichefields est une liste de champs séparés par une virgule.

Les champs possibles sont les suivants :

  • -codefiche : par défaut, le code de la fiche est toujours inséré, ce paramètre permet de l'éviter
  • codecorpus : code du corpus
  • codebase : code de la base
  • basename : nom de la base tel que dans l'URI de la fiche
  • corpusname : nom du corpus tel que dans l'URI de la fiche
  • ficheid : Partie identifiant de la fiche dans l'URI
  • titre : titre de la fiche
  • soustitre : sous-titre de la fiche
  • href : url de la fiche
  • lang : langue de la fiche
  • annee : année de la fiche
  • date : date de la fiche
  • ficheicon : icone spécifique de la fiche
  • icon : icone qui est l'icone spécifique de la fiche s'il existe, sinon l'icone de la base de la fiche
  • geo : latitude et longitude
  • mtitre : retourne le titre marqué, c'est à dire avec les indications de position des chaines de la recherche (voir ci-dessous) ; ce n'est pertinent que lorsque la liste des fiches est obtenue via une recherche libre ; la valeur est donnée même si le titre n'a pas servi à la recherche
  • msoustitre : retourne le sous-titre marqué suivant le même principe que mtitre
  • complements : tableau des champs complémentaires,
  • mcomplements : tableau des champs complémentaires marqués suivant le même principe que mtitre, seuls les champs complémentaires qui ont servi à la recherche sont inclus
  • mcomplements_all : comme précédent, mais tous les compléments sont inclus dans le tableau
  • mattrs : tableau associatif des attributs marqués suivant le même principe que mtitre, seuls les attributs qui ont servi à la recherche sont inclus
  • mattrs_primary : comme précédent, mais tous les attributs du premier groupe (ceux placés avanc les champs complémentaires) sont inclus le tableau associatif
  • mattrs_all : comme précédent, mais tous les attributs sont inclus le tableau associatif
  • score : score de la fiche pour la recherche, c'est un tableau de trois réels entre 0 et 1 : le premier est le score pour l'occurrence, le deuxième pour la date et le troisième pour l'origine ; c'est la somme de ces scores qui détermine l'ordre des fiches
  • {nom d'attribut} : tout nom d'attribut valide, la valeur de l'attribut sera une chaine ; si l'attribut possède plusieurs valeurs elles seront concaténées suivant un mode opératoire dépendant du type de l'attribut

Chaines marquées

Une chaine marquée est une chaine découpée pour indiquer la position des sous-chaines correspondant à la séquence de recherche. Ce découpage permet par exemple de surligner ces sous-chaines pour les mettre en évidence. Une chaine découpée se présente sous forme d'un tableau qui contient soit des chaines (parties non marquées), soit des objets avec deux propriétés : i pour la position de de la chaine recherchée correspondante dans la chaine de recherche et s pour la chaine elle-même.

Exemple : la séquence de recherche est durab dev, le titre trouvé est « définition du Développement Durable », la propriété mtitre retournée sera le tableau suivant :

mtitre: [
  "définition du ", // début du titre
  { //objet correspondant à la présence de la deuxième séquence : dev
    i: 2, 
    s: "Dév"
  },
  "eloppement ", // suite du titre
  { //objet correspondant à la présence de la première séquence : durab
    i: 1;
    s: "Durab"
  },
  "le" // fin du titre
]

Cela permettra de l'afficher ainsi : définition du Développement Durable

Note : dans le cas d'une chaine qui est non marquée mais tout de même incluse (cas de mtitre), le résultat sera un toujours tableau qui contiendra simplement une unique chaine

Renommage des noms des champs dans l'objet résultant

Cette fonctionnalité peut être utile quand l'objet JSON est traité directement par d'autres outils (dans l'export au format GeoJSON notamment), il permet de changer le nom de la propriété dans l'objet résultant. Cette fonction est possible pour les champs suivants :

  • field-titre : nom de la propriété du titre (titre par défaut)
  • field-soustitre : nom de la propriété du sous-titre (soustitre par défaut)
  • field-href : nom de la propriété du l'URL (href par défaut)
  • field-annee : nom de la propriété de l'année (annee par défaut)
  • field-{nom d'attribut} : pour toutes les propriétés basées sur un attribut ({nom de l'attribut} par défaut)

Par exemple, l'application Umap (http://umap.openstreetmap.fr) peut traiter directement le résultat d'une recherche au format GeoJSON. Cependant, le nom d'un marqueur est déduit de la propriété name. Avec le paramètre field-titre=name, on s'assure que le titre apparait sous la propriété name.

Structure de l'objet résultant

Note : même si un champ est indiqué dans fichefields, la propriété peut être absente dans l'objet JSON correspondant si la valeur est nulle.

{
  codefiche:, // code de la fiche, toujours présent (entier > 0)
  codecorpus:, // champ 'codecorpus' (entier > 0)
  codebase:, // champ 'codebase' (entier > 0)
  basename:, //nom technique de la base tel que dans l'URI (chaine)
  corpusname:, //nom technique du corpus tel que dans l'URI (chaine)
  ficheid:, // champ 'fiche-id' (chaine)
  titre:, // champ 'titre' (chaine), le nom de la propriété peut être modifié avec field-titre
  soustitre:, // champ 'soustitre' (chaine), le nom de la propriété peut être modifié avec field-soustitre
  href:, // champ 'href' (chaine), le nom de la propriété peut être modifié avec field-href
  lang:, // champ 'lang' (chaine, code ISO de la langue)
  annee:, // champ 'annee' (entier) , le nom de la propriété peut être modifié avec field-annee
  date:, // champ 'date' (chaine)
  ficheicon:, // champ 'ficheicon' (chaine)
  icon:, // champ 'icon' (chaine)
  lat:, // latitude si champ 'geo' (chaine)
  lon:, // longitude si champ 'geo' (chaine)
  __ attribut __:, // attribut correspondant avec les valeurs concaténées suivant le format de l'attribut (chaine)
  complementArray: [ // tableau des champs complémentaires si champ 'complements'
    {
      num:, // numéro du champ complémentaire (entier > 0)
      comp:// texte du champ complémentaire (chaine)
    }
  ],
  mtitre: [ // tableau du titre marqué
    // voir ci-dessus chaines marquées
  ],
  msoustitre: [ // tableau du soustitre marqué
    // voir ci-dessus chaines marquées
  ],
  mcomplementArray: [ // si champ 'mcomplements', tableau des compléments marqués
    {
      num:, // numéro du champ complémentaire (entier > 0)
      mcomp: [ // tableau du complément marqué 
      // voir ci-dessus chaines marquées
      ]
    }
  ],
  mattrMap: { // si champ 'mattrs', tableau associatif des attributs marqués
    (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut
         // voir de ci-dessus chaines marquées
    ]
  },
  score: [] // score de la fiche sous la forme d'un tableau de trois réels entre 0 et 1
}
serveurscrutari/json/fiche_fields.1509622636.txt.gz · Dernière modification: 2017/11/02 12:37 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0