
Implements a lightweight ASPIC+-like framework for structured argumentation, offering a Prolog interpreter with GUI and library integration via Gradle, Maven, and NPM.
Arg2P is an implementation of the ASPIC+ framework for structured argumentation. Built on top of the tuProlog engine, it supports both JVM and Node environments.
More details are available on the official wiki.
Arg2p is available as a 2P-Kt library.
To import the Arg2p module (version ARG2P_VERSION) into your Kotlin-based Gradle project, declare the dependency in your build.gradle(.kts) file:
repositories {
mavenCentral()
}
dependencies {
implementation("it.unibo.tuprolog.argumentation:arg2p-jvm:ARG2P_VERSION")
}import it.unibo.tuprolog.argumentation.core.Arg2pSolverFactory
import it.unibo.tuprolog.argumentation.core.libs.basic.FlagsBuilder
fun main() {
val graph = Arg2pSolverFactory.evaluate("""
f1 :=> d.
f2 :=> -d.
""".trimIndent(), FlagsBuilder()).first()
graph.labellings.forEach {
println("${it.label} : ${it.argument.conclusion}")
}
}For a complete example, check out the GitHub demo.
The Arg2P software is available on NPM as a JavaScript library as well. It can be found under the @tuprolog organization.
To use the library, add the dependency to your package.json:
{
"dependencies": {
"@tuprolog/arg2p": "ARG2P_VERSION"
}
}const arg2p = require('@tuprolog/arg2p').it.unibo.tuprolog.argumentation.bridge.JsBridge
const graph = arg2p.solve('buildLabelSets', `
f1 :=> d.
f2 :=> -d.`, `
graphBuildMode(standard_af).
statementLabellingMode(statement).
argumentLabellingMode(grounded_hash).
orderingPrinciple(last).
orderingComparator(elitist).
graphExtension(standardPref).
queryMode.`, _ => { }).i.next().graph
graph.arguments.forEach(arg => {
console.log(`${arg.label} : ${arg.descriptor}`)
})For a complete example, see the repository.
The Arg2p IDE is available on the Releases section of the GitHub repository.
In the latest release page, download the Asset named:
arg2p-ide-ARG2P_VERSION-redist.jar
a self-contained, executable Jar containing the 2P-Kt-based Prolog interpreter (ARG2P_VERSION will vary depending on the
actual release version).
After you download the arg2p-ide-ARG2P_VERSION-redist.jar, you can simply launch it by running:
java -jar arg2p-ide-ARG2P_VERSION-redist.jarIf your JVM is properly configured, you can also start the IDE by double-clicking the JAR file.
Try Arg2P directly in your browser using the Web Playground.
It functions the same as the Java IDE, offering an interactive experience without installation.
If you encounter any issues, please report them on the GitHub Issues page.
Your feedback helps improve the project!
Arg2P is an implementation of the ASPIC+ framework for structured argumentation. Built on top of the tuProlog engine, it supports both JVM and Node environments.
More details are available on the official wiki.
Arg2p is available as a 2P-Kt library.
To import the Arg2p module (version ARG2P_VERSION) into your Kotlin-based Gradle project, declare the dependency in your build.gradle(.kts) file:
repositories {
mavenCentral()
}
dependencies {
implementation("it.unibo.tuprolog.argumentation:arg2p-jvm:ARG2P_VERSION")
}import it.unibo.tuprolog.argumentation.core.Arg2pSolverFactory
import it.unibo.tuprolog.argumentation.core.libs.basic.FlagsBuilder
fun main() {
val graph = Arg2pSolverFactory.evaluate("""
f1 :=> d.
f2 :=> -d.
""".trimIndent(), FlagsBuilder()).first()
graph.labellings.forEach {
println("${it.label} : ${it.argument.conclusion}")
}
}For a complete example, check out the GitHub demo.
The Arg2P software is available on NPM as a JavaScript library as well. It can be found under the @tuprolog organization.
To use the library, add the dependency to your package.json:
{
"dependencies": {
"@tuprolog/arg2p": "ARG2P_VERSION"
}
}const arg2p = require('@tuprolog/arg2p').it.unibo.tuprolog.argumentation.bridge.JsBridge
const graph = arg2p.solve('buildLabelSets', `
f1 :=> d.
f2 :=> -d.`, `
graphBuildMode(standard_af).
statementLabellingMode(statement).
argumentLabellingMode(grounded_hash).
orderingPrinciple(last).
orderingComparator(elitist).
graphExtension(standardPref).
queryMode.`, _ => { }).i.next().graph
graph.arguments.forEach(arg => {
console.log(`${arg.label} : ${arg.descriptor}`)
})For a complete example, see the repository.
The Arg2p IDE is available on the Releases section of the GitHub repository.
In the latest release page, download the Asset named:
arg2p-ide-ARG2P_VERSION-redist.jar
a self-contained, executable Jar containing the 2P-Kt-based Prolog interpreter (ARG2P_VERSION will vary depending on the
actual release version).
After you download the arg2p-ide-ARG2P_VERSION-redist.jar, you can simply launch it by running:
java -jar arg2p-ide-ARG2P_VERSION-redist.jarIf your JVM is properly configured, you can also start the IDE by double-clicking the JAR file.
Try Arg2P directly in your browser using the Web Playground.
It functions the same as the Java IDE, offering an interactive experience without installation.
If you encounter any issues, please report them on the GitHub Issues page.
Your feedback helps improve the project!