class PubliSci::Prov::Association
Public Instance Methods
__label()
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 7 def __label # raise "MissingInternalLabel: no __label for #{self.inspect}" unless @__label @__label ||= Time.now.nsec.to_s(32) end
agent(agent=nil)
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 12 def agent(agent=nil) basic_keyword(:agent,:agents,agent) end
had_plan(*args, &block)
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 16 def had_plan(*args, &block) if block_given? p = Prov::Plan.new p.instance_eval(&block) p.__label=args[0] @plan = p Prov.register(args[0], p) elsif args.size == 0 if @plan.is_a? Symbol raise "UnknownPlan: #{@plan}" unless Prov.plans[@plan] @plan = Prov.plans[@plan] end @plan elsif args.size == 1 if Prov.plans[args[0]] @plan = args[0] else p = Prov::Plan.new p.__label=args[0] @plan = p Prov.register(args[0], p) end else name = args.shift args = Hash[*args] p = Prov::Plan.new p.__label=name p.subject args[:subject] (args.keys - [:subject]).map{|k| raise "Unkown plan setting #{k}" unless try_auto_set(p,k,args[k]) } @plan = p Prov.register(name, p) end end
Also aliased as: plan
had_role(*args, &block)
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 54 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 if (Prov.registry[:role]||={})[args[0]] @role = args[0] else 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
to_n3()
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 93 def to_n3 str = "<#{subject}> a prov:Association ;\n" str << "\tprov:agent <#{agent}> ;\n" str << "\tprov:hadPlan <#{plan}> ;\n" if plan str << "\tprov:hadRole <#{role}> ;\n" if role str << "\trdfs:label \"#{__label}\".\n\n" str end
to_s()
click to toggle source
# File lib/publisci/metadata/prov/association.rb, line 102 def to_s subject end