whole_func_string: function (subject) {
      var n = UI.store.each(subject, ns.wf('message')).length
      if (n > 0) return 'Chat (' + n + ')' // Show how many in hover text
  
      if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) { // subject is the file
        return 'Meeting chat'
      }
      if (kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject)) { // subject is the file
        return 'IRC log' // contains anything of this type
      }
      return null // Suppress pane otherwise
    }
func_code_string: function (subject) {
      var n = UI.store.each(subject, ns.wf('message')).length
      if (n > 0) return 'Chat (' + n + ')' // Show how many in hover text
  
      if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) { // subject is the file
        return 'Meeting chat'
      }
      if (kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject)) { // subject is the file
        return 'IRC log' // contains anything of this type
      }
      return null // Suppress pane otherwise
    }
func_documentation_string: /*   AN RRSAgent IRC log:
  
  <irc://localhost:6667/&mit>
  a    foaf:ChatChannel
  foaf:chatEventList
  [ rdf:_100
  <#T19-10-58>
  rdf:_101
  <#T19-10-58-1>
  rdf:_102
  ..
  <#T19-28-47-1>
  dc:creator
  [ a wn:Person; foaf:nick "timbl" ]
  dc:date
  "2016-03-15T19:28:47Z"
  dc:description
  "timbl has joined &mit"
  a    foaf:chatEvent.