Usage
Once installed, you can use py_amr2fred to translate natural language text or AMR structures into RDF/OWL Knowledge Graphs.
Basic Example
from py_amr2fred import Amr2fred, Glossary
amr2fred = Amr2fred()
mode = Glossary.RdflibMode.N3
amr_text = """
(c / charge-05 :ARG1 (h / he) :ARG2 (a / and
:op1 (i / intoxicate-01 :ARG1 h :location (p / public))
:op2 (r / resist-01 :ARG0 h :ARG1 (a2 / arrest-01 :ARG1 h))))
"""
# Translate from AMR
print(amr2fred.translate(amr_text, serialize=True, mode=mode))
# Translate from natural language
print(amr2fred.translate(text="Four boys making pies", serialize=True, mode=Glossary.RdflibMode.TURTLE))
Multilingual Translation
print(amr2fred.translate(text="Quattro ragazzi preparano torte",
serialize=True,
mode=Glossary.RdflibMode.TURTLE,
multilingual=True))
Graphical Output
To generate images (requires Graphviz):
png_file = amr2fred.translate(text="Four boys making pies", graphic="png")
with open("output_image.png", 'wb') as f:
f.write(png_file.read())
png_file.close()
os.remove(Path(png_file.name))
Note: When generating PNG files, temporary files will not be automatically deleted. You must manage or remove them manually.
Warning
Ensure Graphviz is installed to generate graphical outputs.
For SVG output:
svg = amr2fred.translate(text="Four boys making pies", graphic="svg")
with open("output_image.svg", 'w') as f:
f.write(svg)
More Details
For advanced usage, including API customization and translation options, refer to the full documentation on amr2fred module..