class PubliSci::Prov::Usage

Public Instance Methods

__label() click to toggle source
# File lib/publisci/metadata/prov/usage.rb, line 6
def __label
  @__label ||= Time.now.nsec.to_s(32)
end
entity(entity=nil) click to toggle source
# File lib/publisci/metadata/prov/usage.rb, line 10
def entity(entity=nil)
  basic_keyword(:entity,:entities,entity)
end
had_role(*args, &block) click to toggle source
# File lib/publisci/metadata/prov/usage.rb, line 14
def had_role(*args, &block)
  if block_given?
    p = Prov::Role.new
    p.instance_eval(&block)
    p.__label=args[0]
    @role = p
    # puts p.class
    Prov.register(args[0], p)
  elsif args.size == 0
    if @role.is_a? Symbol
      raise "UnknownRole: #{@role}" unless (Prov.registry[:role]||={})[@role]
      @role = Prov.registry[:role][@role]
    end
    @role
  elsif args.size == 1
    unless (Prov.registry[:role]||={})[args[0]]
      p = Prov::Role.new
      p.__label=args[0]
      @role = p
      Prov.register(args[0], p)
    end
  else
    name = args.shift
    args = Hash[*args]
    p = Prov::Role.new

    p.__label=name
    p.subject args[:subject]
    (args.keys - [:subject]).map{|k|
      raise "Unkown Role setting #{k}" unless try_auto_set(p,k,args[k])
    }
    @role = p
    Prov.register(name, p)
  end
end
Also aliased as: role
role(*args, &block)
Alias for: had_role
to_n3() click to toggle source
# File lib/publisci/metadata/prov/usage.rb, line 51
def to_n3
  str = "<#{subject}> a prov:Usage ;\n"
  str << "\tprov:entity <#{entity}> ;\n"
  str << "\tprov:hadRole <#{had_role}> ;\n" if had_role
  str[-2] = ".\n"
  str
end
to_s() click to toggle source
# File lib/publisci/metadata/prov/usage.rb, line 59
def to_s
  subject
end