Queue an Enrichment Job
See the current Enrichment Profiles.
Enrichment Queue
# a typical enrichment specification:
enrichment_profile = {
'Krikri::Enrichments::DedupNodes' => {
input_fields: [:all]
},
'Krikri::Enrichments::SplitProvidedLabelAtDelimiter' => {
input_fields: [{ sourceResource: :subject },
{ sourceResource: :spatial },
{ sourceResource: :creator }]
},
'Krikri::Enrichments::CreatePrefLabelFromProvided' => {
input_fields: [:all]
},
'Krikri::Enrichments::SplitAtDelimiter' => {
input_fields: [:rights,
{ sourceResource: :identifier },
{ sourceResource: :rights },
{ sourceResource: :extent },
{ sourceResource: :dcformat },
{ sourceResource: :genre },
{ sourceResource: :dctype }]
},
'Krikri::Enrichments::StripHtml' => {
input_fields: [:all]
},
'Krikri::Enrichments::StripLeadingColons' => {
input_fields: [{ sourceResource: :title }]
},
'Krikri::Enrichments::StripLeadingPunctuation' => {
input_fields: [{ sourceResource: { creator: :prefLabel } },
{ sourceResource: { contributor: :prefLabel } },
{ sourceResource: { publisher: :prefLabel } },
{ sourceResource: { subject: :prefLabel } },
{ sourceResource: :dcformat },
{ sourceResource: :genre }]
},
'Krikri::Enrichments::StripEndingPunctuation' => {
input_fields: [{ sourceResource: :title },
{ sourceResource: { creator: :prefLabel } },
{ sourceResource: { contributor: :prefLabel } },
{ sourceResource: { publisher: :prefLabel } },
{ sourceResource: { subject: :prefLabel } },
{ sourceResource: :dcformat },
{ sourceResource: :genre }]
},
'Krikri::Enrichments::StripWhitespace' => {
input_fields: [:all]
},
'Krikri::Enrichments::ParseDate' => {
input_fields: [{ sourceResource: { date: :begin } },
{ sourceResource: { date: :end } }]
},
'Krikri::Enrichments::TimespanSplit' => {
input_fields: [{ sourceResource: :date }]
},
'Krikri::Enrichments::DcmiTypeMap' => {
input_fields: [{ sourceResource: :dctype }]
},
'Krikri::Enrichments::GenreFilter' => {
input_fields: [{ sourceResource: :genre }]
},
'Krikri::Enrichments::LanguageToLexvo' => {
input_fields: [{ sourceResource: :language }]
},
'Krikri::Enrichments::DcmiEnforcer' => {
input_fields: [{ sourceResource: :dctype }]
},
'Krikri::Enrichments::TimespanLabel' => {
input_fields: [{ sourceResource: :date }]
},
'Krikri::Enrichments::RemoveEmptyFields' => {
input_fields: [:all]
}
}
# Queue enrichment
activity_uri = Krikri::Activity.find(activity_id).rdf_subject
Krikri::Enricher.enqueue({:generator_uri => activity_uri, :chain => enrichment_profile})
To Test Enrichments Manually (w/o save)
manual enrichment
# first assign a profile as above activity_uri = Krikri::Activity.find(id).rdf_subject enricher = Krikri::Enricher.new(generator_uri: activity_uri, chain: enrichment_profile) # this could be improved :( agg = enricher.generator_activity.entities.first enricher.chain_enrichments!(agg) agg.dump :ttl # to see turtle serialized output
, multiple selections available,