module Reality::Entity::WikidataPredicates

@private

Public Instance Methods

define(&block) click to toggle source
# File lib/reality/entity/wikidata_predicates.rb, line 7
def define(&block)
  instance_eval(&block)
end
definitions() click to toggle source
# File lib/reality/entity/wikidata_predicates.rb, line 27
def definitions
  @definitions ||= {}
end
parse(wikidata) click to toggle source
# File lib/reality/entity/wikidata_predicates.rb, line 11
def parse(wikidata)
  wikidata.predicates.map{|key, val|
    [val, definitions[key]]
  }.reject{|_, dfn| !dfn}.
  map{|val, (symbol, type, opts)|
    [symbol, Entity::Coercion.coerce(val, type, **opts)]
  }.to_h
end
predicate(pred, symbol, type, **opts) click to toggle source
# File lib/reality/entity/wikidata_predicates.rb, line 23
def predicate(pred, symbol, type, **opts)
  definitions[pred] = [symbol, type, opts]
end