Ce plugin propose une série d'instructions spécifiques à l’usage de loterre
npm install @ezs/loterre
Output:
[
{
"source": ...,
"target": ...,
"weight": ...
}
]
language
String Choose language ofprefLabel
(optional, defaulten
)
Returns Promise Return fed Object
Take Object
generated by XMLMapping & SKOS data and
create a new basic object with only keys & values
none
undefined
Returns Object
Take an Object
and transform "broader","narrower" and "related"
properties to an 'Object' containing the prefLabel
and rdf$about
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#">
<skos:Concept rdf:about="http://example.com/dishes#potatoBased">
<skos:prefLabel xml:lang="fr">Plats à base de pomme de terre</skos:prefLabel>
<skos:prefLabel xml:lang="en">Potato based dishes</skos:prefLabel>
<skos:prefLabel xml:lang="de">Kartoffelgerichte</skos:prefLabel>
<skos:inScheme rdf:resource="http://example.com/dishes"/>
<skos:topConceptOf rdf:resource="http://example.com/dishes"/>
</skos:Concept>
<skos:Concept rdf:about="http://example.com/dishes#fries">
<skos:prefLabel xml:lang="fr">Frites</skos:prefLabel>
<skos:prefLabel xml:lang="en">French fries</skos:prefLabel>
<skos:prefLabel xml:lang="de">Französisch frites</skos:prefLabel>
<skos:inScheme rdf:resource="http://example.com/dishes"/>
<skos:broader rdf:resource="http://example.com/dishes#potatoBased"/>
</skos:Concept>
<skos:Concept rdf:about="http://example.com/dishes#mashed">
<skos:prefLabel xml:lang="fr">Purée de pomme de terre</skos:prefLabel>
<skos:prefLabel xml:lang="en">Mashed potatoes</skos:prefLabel>
<skos:prefLabel xml:lang="de">Kartoffelpüree</skos:prefLabel>
<skos:inScheme rdf:resource="http://example.com/dishes"/>
<skos:broader rdf:resource="http://example.com/dishes#potatoBased"/>
</skos:Concept>
</rdf:RDF>
Script:
[use]
plugin = loterre
[concat]
[XMLParse]
separator = /rdf:RDF/skos:Concept
[SKOSObject]
[SKOSPathEnum]
path = broader
path = narrower
label = prefLabel@fr
Output:
[
{
"rdf$about": "http://example.com/dishes#fries",
"prefLabel@fr": "Frites",
"prefLabel@en": "French fries",
"prefLabel@de": "Französisch frites",
"inScheme": "http://example.com/dishes",
"broader": [ [{ "rdf$about": "http://example.com/dishes#potatoBased", "prefLabel@fr": "Plats à base de pomme de terre" }] ]
},
{
"rdf$about": "http://example.com/dishes#mashed",
"prefLabel@fr": "Purée de pomme de terre",
"prefLabel@en": "Mashed potatoes",
"prefLabel@de": "Kartoffelpüree",
"inScheme": "http://example.com/dishes",
"broader": [ [{ "rdf$about": "http://example.com/dishes#potatoBased", "prefLabel@fr": "Plats à base de pomme de terre" }] ]
},
{
"rdf$about": "http://example.com/dishes#potatoBased",
"prefLabel@fr": "Plats à base de pomme de terre",
"prefLabel@en": "Potato based dishes",
"prefLabel@de": "Kartoffelgerichte",
"inScheme": "http://example.com/dishes",
"topConceptOf": "http://example.com/dishes",
"narrower": [
{ "rdf$about": "http://example.com/dishes#fries", "prefLabel@fr": "Frites" },
{
"rdf$about": "http://example.com/dishes#mashed",
"prefLabel@fr": "Purée de pomme de terre"
}
]
}
]
path
String Choose one or more paths to enum (optional, defaultskos$broader
)path
String Choose one path to select uri from found concepts (optional, defaultrdf$about
)path
String Choose one path to select label from found concepts (optional, defaultskos$prefLabel
)recursion
String Follow path to enum (usefull for broaderConcept) (optional, defaultfalse
)
Returns Object Returns object
Output:
[
{
"source": ...,
"target": ...,
"weight": ...
}
]
language
String Choose language ofprefLabel
(optional, defaulten
)
Returns Promise Return fed Object