@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 (withperPage) (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 objectfilterObject? MongoDB filterlimitObject? limit the resultskipObject? 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 stringpathstring to get value to findfieldstring name contains the value to find (generaly equals to path) (optional, defaultauto)
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 objectfilterObject MongoDB filter (optional, default{})sortOnString? Field to sort onsortOrderString? Oder to sortmatchFieldString? Lodex field, containing matchable elementmatchValueString? Value used with the match field to get itemsjoinFieldString? Lodex field used for the join requestlimitObject? limit the resultskipObject? limit the result
Returns Object
LodexOutput
Format the output in compliance with LODEX routines format.
Parameters
keyNamestring name of thedataproperty (optional, default"data")indentboolean indent or not (optional, defaultfalse)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 userefererObject? data injected into every result objectfilterObject MongoDB filter (optional, default{})fieldArray<string> limit the result to some fields (optional, default"uri")minValueObject? limit the resultmaxValueObject? limit the resultmaxSizeObject limit the result (optional, default1000000)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 objectfilterObject? MongoDB filtersortOnString? Field to sort onsortOrderString? Oder to sortfieldObject limit the result to some fields (optional, default"uri")limitObject? limit the resultskipObject? 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
5 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