Data Format =========== GraphVite is designed to support a wide range of formats for graphs. Generally, it does not enforce any type restriction on input elements. We can either use integers or strings as our input. Each line in the file is parsed as .. code-block:: [token] [delimiter] [token] [delimiter]... [comment]... By default, GraphVite treats any blank character as delimiter, and string after ``#`` as comment. You can change these settings in the :ref:`format section ` of configuration files, or using ``app.set_format()`` in Python code. Node Embedding -------------- The input graph for node embedding follows the edge list format. Each line should be .. code-block:: [head] [tail] For link prediction task, the evaluation file consists of edges and labels. .. code-block:: [head] [tail] [label] where label ``1`` is positive and ``0`` is negative. The filter file takes the same format as the input graph. For node classification task, each line is a node and a label. If a node has more than one label, it should take multiple lines. .. code-block:: [node] [label] Knowledge Graph Embedding ------------------------- Each line in a knowledge graph is a triplet. .. code-block:: [head] [relation] [tail] All the files in knowledge graph evaluation tasks take the same triplet format. Graph & High-dimensional Data Visualization ------------------------------------------- For graph visualization, the input format is same as the graph in node embedding. For high-dimensional data visualization, the input format can either be a 2D numpy array or a text matrix. Each row in the matrix is parsed as a point in the high-dimensional space.