https://github.com/yilinxia/xray2.0
A visual interface designed to Instantiate and Explain Argumentation Framework
https://github.com/yilinxia/xray2.0
argumentation graphviz llm neurosymbolic-ai
Last synced: 8 months ago
JSON representation
A visual interface designed to Instantiate and Explain Argumentation Framework
- Host: GitHub
- URL: https://github.com/yilinxia/xray2.0
- Owner: yilinxia
- License: mit
- Created: 2025-07-02T21:54:12.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-03T02:36:33.000Z (11 months ago)
- Last Synced: 2025-07-03T03:31:42.889Z (11 months ago)
- Topics: argumentation, graphviz, llm, neurosymbolic-ai
- Language: TypeScript
- Homepage: https://xray-yilinxias-projects.vercel.app
- Size: 183 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
AF-XRAY
Argumentation Framework eXplanation, Reasoning, and AnalYsis
[](https://github.com/yilinxia/xray2.0)
[](LICENSE)
A modern web-based tool for visualizing and analyzing argumentation frameworks with interactive provenance tracking!
- π― **Interactive Graph Visualization**
- π **Multiple Semantics Support**
- π **Real-time Analysis**
- π **Provenance Tracking**
## What is AF-XRAY?
AF-XRAY (Argumentation Framework eXplanation, Reasoning, and AnalYsis) is a JavaScript-based web application that brings interactive argumentation framework analysis to your browser. Developed with modern web technologies like Next.js, React, and Cytoscape.js, our tool enables researchers and practitioners to visualize, analyze, and understand complex argumentation frameworks through intuitive interactive interfaces.
## Local Deployment
### Installation
```bash
# Clone the repository
git clone https://github.com/yilinxia/xray2.0
cd xray2.0
# Install dependencies
npm install
# Start development server
npm run dev
```
Navigate to [http://localhost:3000](http://localhost:3000) to access the application.
## Usage
### Creating and Analyzing Frameworks
```javascript
// Example framework in JSON format
const framework = {
"name": "Example Framework",
"arguments": [
{"id": "a", "annotation": "Argument A"},
{"id": "b", "annotation": "Argument B"}
],
"defeats": [
{"from": "a", "to": "b"}
]
};
// Upload this framework to visualize and analyze
```
### Supported File Formats
**Text Format (.txt, .af):**
```
arg(a).
arg(b).
att(a,b).
```
**JSON Format (.json):**
```json
{
"name": "Example Framework",
"arguments": [
{"id": "a", "annotation": "Argument A"},
{"id": "b", "annotation": "Argument B"}
],
"defeats": [
{"from": "a", "to": "b"}
]
}
```
**Graphviz Format (.gv):**
```
digraph G {
a -> b;
}
```
## Developing AF-XRAY
### Prerequisites
- Node.js 18+
- npm or yarn package manager
### Setup
```bash
# Clone the repository
git clone https://github.com/yilinxia/xray2.0
cd xray2.0
# Install dependencies
npm install
# Run tests
npm run test
# Start development server
npm run dev
```
### Project Structure
```
xray2.0/
βββ app/ # Next.js app directory
βββ components/ # React components
β βββ ui/ # Reusable UI components
β βββ argument-graph.tsx # Main graph visualization
β βββ semantics-panel.tsx # Semantics computation panel
β βββ json-editor.tsx # Framework editor
βββ lib/ # Utility functions
β βββ argumentation.ts # Core argumentation logic
β βββ types.ts # TypeScript type definitions
β βββ utils.ts # Utility functions
βββ public/ # Static assets
```
## Citation
To learn more about AF-XRAY, check out our research paper published at ICAIL'25.
```bibtex
@inproceedings{xia2025afxray,
title = {AF-Xray: Visual Explanation and Resolution of Ambiguity in Legal Argumentation Frameworks},
author = {Yilin Xia and Heng Zheng and Shawn Bowers and Bertram LudΓ€scher},
booktitle = {Proceedings of the Twentieth International Conference on Artificial Intelligence and Law (ICAIL 2025)},
year = {2025},
pages = {483--485},
address = {Chicago, IL, USA},
publisher = {ACM},
isbn = {979-8-4007-1939-4}
}
```
## License
The software is available under the MIT License.
## Contact
If you have any questions, feel free to open an issue on GitHub.