All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openprovenance.prov.scala.xplain.ExplainerFunctionality.scala Maven / Gradle / Ivy

There is a newer version: 2.1.1
Show newest version
package org.openprovenance.prov.scala.xplain

import org.openprovenance.prov.model.Namespace
import org.openprovenance.prov.scala.immutable.{Document, Statement, StatementOrBundle}
import org.openprovenance.prov.scala.narrator.{EventOrganiser, XConfig}
import EventOrganiser.{NLG_PREFIX, NLG_URI, gensym}
import org.openprovenance.prov.scala.iface.Narrative
import org.openprovenance.prov.scala.narrator.NarratorFunctionality.realise

object ExplainerFunctionality {

  def explain(doc: Document, config: XConfig): Map[String, Narrative] = {

    val doc1 = Document(doc, gensym, NLG_PREFIX, NLG_URI)
    val newEntities = EventOrganiser.addEntitiesToAgents(doc1.statements())

    val newStatements: Iterable[StatementOrBundle] = doc1.statements() ++ newEntities

    val namespace: Namespace = doc1.namespace
    val doc2: Document = new Document(newStatements, namespace)


    val theStatements: Seq[Statement] = doc2.statements().toSeq


    realise(config, theStatements, allp = false)

  }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy