dataContentPane.js
function (subject, myDocument) {
    function alternativeRendering () {
      var sz = UI.rdf.Serializer(UI.store)
      var res = sz.rootSubjects(sts)
      var roots = res.roots
      var p = {}
      p.render = function (s2) {
        var div = myDocument.createElement('div')
        div.setAttribute('class', 'withinDocumentPane')
        var plist = kb.statementsMatching(s2, undefined, undefined, subject)
        outliner.appendPropertyTRs(div, plist, false, function (pred, inverse) { return true })
        return div
      }
      for (var i = 0; i < roots.length; i++) {
        var tr = myDocument.createElement('TR')
        var root = roots[i]
        tr.style.verticalAlign = 'top'
        var td = outliner.outlineObjectTD(root, undefined, tr)
        tr.appendChild(td)
        div.appendChild(tr)
        outliner.outlineExpand(td, root, {'pane': p})
      }
    }

    function mainRendering () {
      var initialRoots = [] // Ordering: start with stuff about this doc
      if (kb.holds(subject, undefined, undefined, subject)) initialRoots.push(subject)
      // Then about the primary topic of the document if any
      var ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)
      if (ps) initialRoots.push(ps)
      div.appendChild(panes.dataContents.statementsAsTables(sts, myDocument, initialRoots))
    }

    var outliner = panes.getOutliner(myDocument)
    var kb = UI.store
    var div = myDocument.createElement('div')
    div.setAttribute('class', 'dataContentPane')
    // Because of smushing etc, this will not be a copy of the original source
    // We could instead either fetch and re-parse the source,
    // or we could keep all the pre-smushed triples.
    var sts = kb.statementsMatching(undefined, undefined, undefined, subject) // @@ slow with current store!

    if ($rdf.keepThisCodeForLaterButDisableFerossConstantConditionPolice) {
      alternativeRendering()
    } else {
      mainRendering()
    }
    return div
  }
function (subject, myDocument) {
    function alternativeRendering () {
      var sz = UI.rdf.Serializer(UI.store)
      var res = sz.rootSubjects(sts)
      var roots = res.roots
      var p = {}
      p.render = function (s2) {
        var div = myDocument.createElement('div')
        div.setAttribute('class', 'withinDocumentPane')
        var plist = kb.statementsMatching(s2, undefined, undefined, subject)
        outliner.appendPropertyTRs(div, plist, false, function (pred, inverse) { return true })
        return div
      }
      for (var i = 0; i < roots.length; i++) {
        var tr = myDocument.createElement('TR')
        var root = roots[i]
        tr.style.verticalAlign = 'top'
        var td = outliner.outlineObjectTD(root, undefined, tr)
        tr.appendChild(td)
        div.appendChild(tr)
        outliner.outlineExpand(td, root, {'pane': p})
      }
    }

    function mainRendering () {
      var initialRoots = [] // Ordering: start with stuff about this doc
      if (kb.holds(subject, undefined, undefined, subject)) initialRoots.push(subject)
      // Then about the primary topic of the document if any
      var ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)
      if (ps) initialRoots.push(ps)
      div.appendChild(panes.dataContents.statementsAsTables(sts, myDocument, initialRoots))
    }

    var outliner = panes.getOutliner(myDocument)
    var kb = UI.store
    var div = myDocument.createElement('div')
    div.setAttribute('class', 'dataContentPane')
    // Because of smushing etc, this will not be a copy of the original source
    // We could instead either fetch and re-parse the source,
    // or we could keep all the pre-smushed triples.
    var sts = kb.statementsMatching(undefined, undefined, undefined, subject) // @@ slow with current store!

    if ($rdf.keepThisCodeForLaterButDisableFerossConstantConditionPolice) {
      alternativeRendering()
    } else {
      mainRendering()
    }
    return div
  }
statementsAsTables View the data in a file in user-friendly way