jq usage

About

jq is a lightweight and flexible command-line JSON processor. It works on all popular platforms like Linux, Mac OSX and Windows.

Please visit https://stedolan.github.io/jq/ for more information and download.

Usage

You can use it for pretty-printing output from the ad-hoc mode commands of p2n, but also for filtering and even reformatting.

Pretty-printing

Just pipe JSON output into “jq .”:

p2n adhoc dump --expression='TA=lentille' --with-family --with-register --format=ops | jq .

and voilà:

[
  {
    "application_date": "2010-07-29",
    "application_year": "2010",
    "application_number_docdb": "CN2010075569W",
    "application_number_epodoc": "WO2010CN75569",
    "publication_date": "2011-02-10",
    "publication_year": "2011",
    "publication_number_docdb": "WO2011015115A1",
    "publication_number_epodoc": "WO2011015115",
    "country": "WO",
    "kind": "A1",
    "document_number": "WO2011015115A1",
    "family_id": "43543927",
    "title": {
      "fr": "CAPOT DE MODULE DE PUCE DE DEL POLYCRISTALLINE UNIQUE HAUTE PUISSANCE POUR ÉCLAIRAGE DE RUE",
      "en": "LIGHT SHELL OF HIGH POWER SINGLE POLYCRYSTALLINE LED CHIP MODULE OF STREET LAMP"
    },
    "abstract": {
      "en": "A light shell of a high power single polycrystalline LED chip module ...",
      "fr": "L'invention concerne un capot de module de puce de DEL polycristalline unique haute puissance pour éclairage ..."
    },
    "classifications": {
      "IPCR": [
        "F21V3/02",
        "F21V17/00",
        "F21V17/14",
        "F21W131/103"
      ],
      "IPC": [],
      "CPC": [
        "F21V3/00",
        "F21V17/14",
        "F21V17/164",
        "F21W2131/103",
        "F21Y2115/10"
      ]
    },
    "applicants": [
      {
        "country": "CN",
        "name": "YANG JANSEN"
      },
      {
        "country": "CN",
        "name": "CHEN HONG"
      }
    ],
    "inventors": [
      {
        "country": "CN",
        "name": "YANG JANSEN"
      },
      {
        "country": "CN",
        "name": "CHEN HONG"
      }
    ],
    "register": {
      "designated_states": [
        "AL",
        "AT",
        "BE",
        "BG",
        [...]
      ]
    },
  }

[...]

Filtering

Just display list of document_number fields:

p2n adhoc dump --expression='TA=lentille' --with-family --with-register --format=ops | jq '.[] | .document_number'

Output:

"WO2011015115A1"
"CN101988689A"
"CN101988689B"
"CA2694840A1"
"AT553722T"
"CN101808594A"

Reformatting I

Display list of document numbers with their designated states from register information:

function jq_register_designated_states { jq '.[] | select(.register) | {number: .document_number, states: .register.designated_states}'; }
p2n adhoc dump --expression='TA=lentille' --with-family --with-register --format=ops | jq_register_designated_states
{
  "number": "WO2007091761A1",
  "states": [
    "AT",
    "BE",
    "BG",
    "CH",
    [...]

{
  "number": "EP0191689A1",
  "states": [
    "CH",
    "DE",
    "FR",
    "GB",
    "IT",
    "LI",
    "NL"
  ]
}

[...]

Reformatting II

Display list of publication numbers with register status and action information:

function jq_register_status { jq '.[] | select(.register) | {status: .register.status, pubnumber: .publication_number_docdb, pubdate: .publication_date, actions: .register.actions}'; }
p2n adhoc dump --expression='pa=grohe and pd=2015' --with-family --with-register | jq_register_status
{
  "status": "No opposition filed within time limit",
  "pubnumber": "EP2964797A1",
  "pubdate": "2016-01-13",
  "actions": [
    {
      "date": "2016-09-22",
      "name": "first-examination-report-despatched"
    },
    {
      "date": "2015-08-06",
      "name": "request-for-examination"
    }
  ]
}
{
  "status": "The patent has been granted",
  "pubnumber": "EP2964798A1",
  "pubdate": "2016-01-13",
  "actions": [
    {
      "date": "2016-06-10",
      "name": "first-examination-report-despatched"
    },
    {
      "date": "2015-08-06",
      "name": "request-for-examination"
    }
  ]
}
{
  "status": "The application is deemed to be withdrawn",
  "pubnumber": "WO2014106529A1",
  "pubdate": "2014-07-10",
  "actions": []
}
{
  "status": "Examination is in progress",
  "pubnumber": "WO2014072031A1",
  "pubdate": "2014-05-15",
  "actions": [
    {
      "date": "2017-10-30",
      "name": "first-examination-report-despatched"
    },
    {
      "date": "2015-01-15",
      "name": "request-for-examination"
    }
  ]
}
{
  "status": "Request for examination was made",
  "pubnumber": "WO2014037092A1",
  "pubdate": "2014-03-13",
  "actions": [
    {
      "date": "2015-01-15",
      "name": "request-for-examination"
    }
  ]
}