@ezs/lodex v1.16.6
lodex
Ce plugin propose une série d'instructions spécifiques à l’usage de lodex
installation
npm install @ezs/coreusage
Table of Contents
- convertJsonLdToNQuads
- convertToAtom
- convertToExtendedJsonLd
- extractIstexQuery
- Field
- flattenPatch
- getLastCharacteristic
- getParam
- injectDatasetFields
- keyMapping
- labelizeFieldID
- LodexAggregateQuery
- LodexBuildContext
- LodexGetCharacteristics
- LodexGetFields
- LodexInjectCountFrom
- LodexInjectSyndicationFrom
- LodexJoinQuery
- LodexOutput
- LodexReduceQuery
- LodexRunQuery
- objects2columns
- parseNQuads
- writeTurtle
convertJsonLdToNQuads
Take a JSON-LD object and transform it into NQuads triples.
Returns String
convertToAtom
Generate an atom XML feed from a resources feed, the LODEX configuration and model.
Parameters
- fieldsObject LODEX model (optional, default- {})
- atomFeedFeed A feed of resources, see feed (optional, default- {})
- configObject LODEX configuration (with- perPage) (optional, default- {})
Returns String
convertToExtendedJsonLd
Convert the result of an ISTEX query to an extended JSON-LD.
Every hit must contain the URI of original lodex resource, linked to the query.
Parameters
- schemeForIstexQuerystring URI to put between document and resource
extractIstexQuery
Extract an ISTEX API query.
Parameters
Examples
Output:
{
   content: 'fake query',
   lodex: {
      uri: 'http://resource.uri',
  },
}Field
Properties
flattenPatch
Take Object and transform all key ending byu number on array.
Parameters
- noneundefined
Returns Object
getLastCharacteristic
Get last characteristic (list of all dataset covering fields).
Examples
Input:
[
  {
    "_id" : ObjectId("5ca32c64019f45001d2b602d"),
    "publicationDate" : ISODate("2019-04-02T09:33:24.463Z")
  },
  {
    "_id" : ObjectId("5cee50bb019f45001d2b602f"),
    "publicationDate" : ISODate("2019-05-29T09:28:27.773Z")
  },
  {
    "_id" : ObjectId("5cee5119019f45001d2b6031"),
    "publicationDate" : ISODate("2019-05-29T09:30:01.319Z")
  },
  {
    "_id" : ObjectId("5cee5153019f45001d2b6032"),
    "publicationDate" : ISODate("2019-05-29T09:30:59.770Z")
  },
  {
    "_id" : ObjectId("5cee5160019f45001d2b6033"),
    "publicationDate" : ISODate("2019-05-29T09:31:12.503Z")
  },
  {
    "_id" : ObjectId("5cee530e3e9676001909ba24"),
    "publicationDate" : ISODate("2019-05-29T09:38:22.569Z")
  }
]Output:
{
  "_id" : ObjectId("5cee530e3e9676001909ba24"),
  "publicationDate" : ISODate("2019-05-29T09:38:22.569Z")
}Returns any
getParam
injectDatasetFields
Inject in each item the last characteristics (the dataset covering fields) of a LODEX.
Parameters
- connectionStringURIstring MongoDB connection string
Examples
Output:
[
  {
    "characteristics": {
      "_id": "5d289071340bb500201b5146",
      "qW6w": "Catégories WOS",
      "ImiI": "Cette table correspond aux catégories Web Of Science.",
      "alRS": "/api/run/syndication",
      "aDLT": "Dans le cadre de l'enrichissement des documents du...",
      "SFvt": "https://enrichment-process.data.istex.fr/ark:/67375/R0H-PWBRNFQ8-H",
      "RzXW": "https://docs.google.com/drawings/d/1LzjO-oD6snh0MYfqxfPB7q-LU6Dev1SRmJstXFGzgvg/pub?w=960&h=720",
      "E4jH": "https://www.etalab.gouv.fr/licence-ouverte-open-licence",
      "MvkG": "Plateforme ISTEX",
      "m7G5": "Inist-CNRS",
      "1TvM": "2016-05-12",
      "WcNl": "2019-01-16",
      "publicationDate": "2019-07-12T13:51:45.129Z"
    }
  }
]keyMapping
Take an object and map its keys to the one in mapping parameters.
Keep keys absent in from parameter.
[{
  "dFgH": "Value",
  "AaAa": "Value 2"
}][keyMapping]
from = dFgH
to = Title
from = AaAa
to = Description[{
  "Title": "Value",
  "Description": "Value 2"
}]Parameters
Returns any Same object with modified keys
labelizeFieldID
Inject in each item the last characteristics (the dataset covering fields) of a LODEX.
Parameters
Examples
Input:
[
  {
      "xderc": "Catégories WOS",
      "34Ddd": "Cette table correspond aux catégories Web Of Science.",
      "SD2Fs": "/api/run/syndication",
    }
  }
]Output:
[
  {
      "Titre": "Catégories WOS",
      "Description": "Cette table correspond aux catégories Web Of Science.",
      "URL": "/api/run/syndication",
    }
  }
]LodexAggregateQuery
Take Object containing a MongoDB aggregate query and throw the result
The input object must contain a connectionStringURI property, containing
the connection string to MongoDB.
Parameters
- collectionString collection to use (optional, default- "publishedDataset")
- refererObject? data injected into every result object
- filterObject? MongoDB filter
- limitObject? limit the result
- skipObject? limit the result
Returns Object
LodexBuildContext
Take Object containing a URL query and throw a Context Object
compatible with runQuery or reduceQuery
Parameters
- connectionStringURIString to connect to MongoDB (optional, default- "mongodb://ezmaster_db:27017")
- hostString? to set host (usefull to build some links)
Returns Object
LodexGetCharacteristics
Return the last characteristics (the dataset covering fields) of a LODEX.
Parameters
- connectionStringURIstring MongoDB connection string
Examples
Output:
[
  {
    "characteristics": {
      "_id": "5d289071340bb500201b5146",
      "qW6w": "Catégories WOS",
      "ImiI": "Cette table correspond aux catégories Web Of Science.",
      "alRS": "/api/run/syndication",
      "aDLT": "Dans le cadre de l'enrichissement des documents du...",
      "SFvt": "https://enrichment-process.data.istex.fr/ark:/67375/R0H-PWBRNFQ8-H",
      "RzXW": "https://docs.google.com/drawings/d/1LzjO-oD6snh0MYfqxfPB7q-LU6Dev1SRmJstXFGzgvg/pub?w=960&h=720",
      "E4jH": "https://www.etalab.gouv.fr/licence-ouverte-open-licence",
      "MvkG": "Plateforme ISTEX",
      "m7G5": "Inist-CNRS",
      "1TvM": "2016-05-12",
      "WcNl": "2019-01-16",
      "publicationDate": "2019-07-12T13:51:45.129Z"
    }
  }
]LodexGetFields
Return the fields (the model) of a LODEX.
Parameters
- connectionStringURIstring MongoDB connection string
LodexInjectCountFrom
Inject in each item the last characteristics (the dataset covering fields) of a LODEX.
[
          { "id": 0, "value":2000  },
          { "id": 1, "value":2001  },
          { "id": 2, "value":2003  },
          { "id": 3, "value":2005  },
          { "id": 4, "value":2007  },
          { "id": 2, "value":2003  },
          { "id": 6, "value":2011  },
          { "id": 7, "value":2013  }
][injectCountFrom]
path = value
field = publicationDate[
          { "id": 0, "value":2003, "value_count":3  },
          { "id": 1, "value":2001, "value_count":1  },
          { "id": 2, "value":2003, "value_count":3  },
          { "id": 3, "value":2005, "value_count":1  },
          { "id": 4, "value":2007, "value_count":1  },
          { "id": 2, "value":2003, "value_count":3  },
          { "id": 6, "value":2011, "value_count":2  },
          { "id": 7, "value":2011, "value_count":2  }
]Parameters
- connectionStringURIstring MongoDB connection string
- pathstring to get value to find
- fieldstring name contains the value to find (generaly equals to path) (optional, default- auto)
LodexInjectSyndicationFrom
Inject title & description (syndicationà from field what conatsin the uri of one resource
Parameters
Examples
Output:
[
  {
{
      "id": "uri:/ZD44DSQ",
      "id-title": "Titre de la ressource uri:/ZD44DSQ",
      "id-description": "Description de la ressource uri:/ZD44DSQ",
      "value": 10
    }
  }
]LodexJoinQuery
Take 3 parameters and create a join query (one to many, on sub-ressource)
The input object must contain a connectionStringURI property, valued with
the connection string to MongoDB.
Parameters
- collectionString collection to use (optional, default- "publishedDataset")
- refererObject? data injected into every result object
- filterObject MongoDB filter (optional, default- {})
- sortOnString? Field to sort on
- sortOrderString? Oder to sort
- matchFieldString? Lodex field, containing matchable element
- matchValueString? Value used with the match field to get items
- joinFieldString? Lodex field used for the join request
- limitObject? limit the result
- skipObject? limit the result
Returns Object
LodexOutput
Format the output in compliance with LODEX routines format.
Parameters
- keyNamestring name of the- dataproperty (optional, default- "data")
- indentboolean indent or not (optional, default- false)
- extractArray<string>? fields to put at the root of the output object
Examples
Input
[
     { _id: 1, value: 2, total: 2 },
     { _id: 2, value: 4, total: 2 }
]Script
.pipe(ezs('LodexOutput', { extract: 'total' }))Output
{
    data [
        { _id: 1, value: 2 },
        { _id: 2, value: 4 }
    ],
    total: 2
}Returns string
LodexReduceQuery
Take an Object containing a MongoDB query, and a reducer, then throw the
result.
The input object must contain a connectionStringURI property, containing
the connection string to MongoDB.
Parameters
- reducerString The name of the reducer to use
- refererObject? data injected into every result object
- filterObject MongoDB filter (optional, default- {})
- fieldArray<string> limit the result to some fields (optional, default- "uri")
- minValueObject? limit the result
- maxValueObject? limit the result
- maxSizeObject limit the result (optional, default- 1000000)
- orderByObject? sort the result
Returns Object
LodexRunQuery
Take Object containing a MongoDB query and throw the result
The input object must contain a connectionStringURI property, containing
the connection string to MongoDB.
Parameters
- collectionString collection to use (optional, default- "publishedDataset")
- refererObject? data injected into every result object
- filterObject? MongoDB filter
- sortOnString? Field to sort on
- sortOrderString? Oder to sort
- fieldObject limit the result to some fields (optional, default- "uri")
- limitObject? limit the result
- skipObject? limit the result
Returns Object
objects2columns
Take an Object and flatten it to get only one level of keys.
[{
  "foo": {
    "hello": "world"
  },
  "bar": "anything else",
  "baz": 1
}][{
  "foo": "{\"hello\":\"world\"}",
  "bar": "anything else",
  "baz": 1
}]Parameters
- noneundefined
Returns Object
parseNQuads
Take N-Quads string and transform it to Objects.
Returns Object
writeTurtle
Take quad or prefixes object and return turtle string.
[{
   quad: {
     subject: { id: 'http://uri/janedoe' },
     predicate: { id: 'http://schema.org/jobTitle' },
     object: { id: '"Professor"' }
   }
 }, {
     quad: {
     subject: { id: 'http://uri/janedoe' },
     predicate: { id: 'http://schema.org/name' },
     object: { id: '"Jane Doe"' }
   }
 }, {
     quad: {
     subject: { id: 'http://uri/janedoe' },
     predicate: { id: 'http://schema.org/telephone' },
     object: { id: '"(425) 123-4567"' }
     }
 }, {
     quad: {
     subject: { id: 'http://uri/janedoe' },
     predicate: { id: 'http://schema.org/url' },
     object: { id: 'http://www.janedoe.com' }
     }
 }, {
     quad: {
     subject: { id: 'http://uri/janedoe' },
     predicate: { id: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' },
     object: { id: 'http://schema.org/Person' }
     }
 }, { prefixes: {} }
]\@prefix schema: <http://schema.org/>.
\@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
<http://uri/janedoe> schema:jobTitle "Professor";
    schema:name "Jane Doe";
    schema:telephone "(425) 123-4567";
    schema:url <http://www.janedoe.com>;
    a schema:Person.Returns String turtle
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
4 years ago
5 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago