def to_rdf_graph(client: NeptuneClient, df: pd.DataFrame, batch_size: int=50, subject_column: str='s', predicate_column: str='p', object_column: str='o', graph_column: str='g') -> bool:
    "Write records stored in a DataFrame into Amazon Neptune.\n\n    The DataFrame must consist of triples with column names for the subject, predicate, and object specified.\n    If you want to add data into a named graph then you will also need the graph column.\n\n    Parameters\n    ----------\n    client (NeptuneClient) :\n        instance of the neptune client to use\n    df (pandas.DataFrame) :\n        Pandas DataFrame https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html\n    subject_column (str, optional) :\n        The column name in the dataframe for the subject.  Defaults to 's'\n    predicate_column (str, optional) :\n        The column name in the dataframe for the predicate.  Defaults to 'p'\n    object_column (str, optional) :\n        The column name in the dataframe for the object.  Defaults to 'o'\n    graph_column (str, optional) :\n        The column name in the dataframe for the graph if sending across quads.  Defaults to 'g'\n\n    Returns\n    -------\n    bool\n        True if records were written\n\n    Examples\n    --------\n    Writing to Amazon Neptune\n\n    >>> import awswrangler as wr\n    >>> client = wr.neptune.connect(neptune_endpoint, neptune_port, iam_enabled=False)\n    >>> wr.neptune.gremlin.to_rdf_graph(\n    ...     df=df\n    ... )\n    "
    is_quads = False
    if pd.Series([subject_column, object_column, predicate_column]).isin(df.columns).all():
        if (graph_column in df.columns):
            is_quads = True
    else:
        raise exceptions.InvalidArgumentValue('Dataframe must contain at least the subject, predicate, and object columns defined or the defaults\n            (s, p, o) to be saved to Amazon Neptune')
    query = ''
    for (index, row) in df.iterrows():
        if is_quads:
            insert = f'''INSERT DATA {{ GRAPH <{row[graph_column]}> {{<{row[subject_column]}>
                    <{str(row[predicate_column])}> <{row[object_column]}> . }} }}; '''
            query = (query + insert)
        else:
            insert = f'''INSERT DATA {{ <{row[subject_column]}> <{str(row[predicate_column])}>
                    <{row[object_column]}> . }}; '''
            query = (query + insert)
        if ((index > 0) and ((index % batch_size) == 0)):
            res = client.write_sparql(query)
            if res:
                query = ''
    return client.write_sparql(query)
Write records stored in a DataFrame into Amazon Neptune.

The DataFrame must consist of triples with column names for the subject, predicate, and object specified.
If you want to add data into a named graph then you will also need the graph column.

Parameters
----------
client (NeptuneClient) :
    instance of the neptune client to use
df (pandas.DataFrame) :
    Pandas DataFrame https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html
subject_column (str, optional) :
    The column name in the dataframe for the subject.  Defaults to 's'
predicate_column (str, optional) :
    The column name in the dataframe for the predicate.  Defaults to 'p'
object_column (str, optional) :
    The column name in the dataframe for the object.  Defaults to 'o'
graph_column (str, optional) :
    The column name in the dataframe for the graph if sending across quads.  Defaults to 'g'

Returns
-------
bool
    True if records were written

Examples
--------
Writing to Amazon Neptune

>>> import awswrangler as wr
>>> client = wr.neptune.connect(neptune_endpoint, neptune_port, iam_enabled=False)
>>> wr.neptune.gremlin.to_rdf_graph(
...     df=df
... )
def to_rdf_graph(client: NeptuneClient, df: pd.DataFrame, batch_size: int=50, subject_column: str='s', predicate_column: str='p', object_column: str='o', graph_column: str='g') -> bool:
    "Write records stored in a DataFrame into Amazon Neptune.\n\n    The DataFrame must consist of triples with column names for the subject, predicate, and object specified.\n    If you want to add data into a named graph then you will also need the graph column.\n\n    Parameters\n    ----------\n    client (NeptuneClient) :\n        instance of the neptune client to use\n    df (pandas.DataFrame) :\n        Pandas DataFrame https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html\n    subject_column (str, optional) :\n        The column name in the dataframe for the subject.  Defaults to 's'\n    predicate_column (str, optional) :\n        The column name in the dataframe for the predicate.  Defaults to 'p'\n    object_column (str, optional) :\n        The column name in the dataframe for the object.  Defaults to 'o'\n    graph_column (str, optional) :\n        The column name in the dataframe for the graph if sending across quads.  Defaults to 'g'\n\n    Returns\n    -------\n    bool\n        True if records were written\n\n    Examples\n    --------\n    Writing to Amazon Neptune\n\n    >>> import awswrangler as wr\n    >>> client = wr.neptune.connect(neptune_endpoint, neptune_port, iam_enabled=False)\n    >>> wr.neptune.gremlin.to_rdf_graph(\n    ...     df=df\n    ... )\n    "
    is_quads = False
    if pd.Series([subject_column, object_column, predicate_column]).isin(df.columns).all():
        if (graph_column in df.columns):
            is_quads = True
    else:
        raise exceptions.InvalidArgumentValue('Dataframe must contain at least the subject, predicate, and object columns defined or the defaults\n            (s, p, o) to be saved to Amazon Neptune')
    query = 
    for (index, row) in df.iterrows():
        if is_quads:
            insert = f'INSERT DATA {{ GRAPH <{row[graph_column]}> {{<{row[subject_column]}>
                    <{str(row[predicate_column])}> <{row[object_column]}> . }} }}; '
            query = (query + insert)
        else:
            insert = f'INSERT DATA {{ <{row[subject_column]}> <{str(row[predicate_column])}>
                    <{row[object_column]}> . }}; '
            query = (query + insert)
        if ((index > 0) and ((index % batch_size) == 0)):
            res = client.write_sparql(query)
            if res:
                query = 
    return client.write_sparql(query)