I am going to write a Java program that interacts with Sage. With Wolfram Mathematica I would have used a MathLink interface for this purpose. Does Sage have something similar?
Goolge suggests there is some way to interact over TCP with JSON queries and responses, but the Sage tutorial states only 4 ways of using Sage:
You can use Sage in several ways.
- Notebook graphical interface: see the section on the Notebook in the reference manual and The Notebook Interface below,
- Interactive command line: see The Interactive Shell,
- Programs: By writing interpreted and compiled programs in Sage (see Loading and Attaching Sage ?les and Creating Compiled Code), and
- Scripts: by writing stand-alone Python scripts that use the Sage library (see Standalone Python/Sage Scripts).