<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.w3.org/2005/sparql-results#" version="1.0">
    <xsl:output method="text"/>
    <xsl:variable name="nl">
        <xsl:text>
</xsl:text>
    </xsl:variable>
    <xsl:template match="/s:sparql/s:results">
        <xsl:text>digraph</xsl:text>
        <xsl:text>{ rankdir=LR;</xsl:text>
        <xsl:apply-templates select="*"/>
        <xsl:text>}</xsl:text>
        <xsl:value-of select="$nl"/>
    </xsl:template>
    <xsl:template match="s:result">
        <xsl:text>"</xsl:text>
        <xsl:value-of select="s:binding[@name='from']/s:literal"/>
        <xsl:text>" -&gt; "</xsl:text>
        <xsl:value-of select="s:binding[@name='to']/s:literal"/>
        <xsl:text>" [label="</xsl:text>
        <xsl:value-of select="s:binding[@name='label']/s:literal"/>
        <xsl:text>"];</xsl:text>
        <xsl:value-of select="$nl"/>
    </xsl:template>
</xsl:stylesheet>
