Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
XDI4j Tutorial 2
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
This tutorial explains how to serialize and deserialize an XDI graph in any of the XDI serialization formats.
A typical application is to read an XDI graph from a file into memory, perform a few operations on it, and then store it again to file.
Serialization
Example Code:
package org.eclipse.higgins.xdi4j.tutorial;
import org.eclipse.higgins.xdi4j.Graph;
import org.eclipse.higgins.xdi4j.GraphFactory;
import org.eclipse.higgins.xdi4j.impl.memory.MemoryGraphFactory;
import org.eclipse.higgins.xdi4j.io.XDIWriter;
import org.eclipse.higgins.xdi4j.io.XDIWriterRegistry;
import org.eclipse.higgins.xdi4j.xri3.impl.XRI3Segment;
/**
* This example app shows how to output
* a graph in different serialization formats.
*/
public class Tutorial2 {
public static void main(String[] args) throws Exception {
GraphFactory factory = MemoryGraphFactory.getInstance();
Graph graph = factory.openGraph();
// let's create a simple graph
graph.createStatement(new XRI3Segment("=alice"), new XRI3Segment("+name"), "Alice X.");
graph.createStatement(new XRI3Segment("=alice"), new XRI3Segment("+friend"), new XRI3Segment("=bob"));
// output the graph in X3 Simple and XDI/XML
XDIWriter writer;
writer = XDIWriterRegistry.forFormat("X3 Simple");
writer.write(graph, System.out, null);
writer = XDIWriterRegistry.forFormat("XDI/XML");
writer.write(graph, System.out, null);
graph.close();
}
}
Deserialization
Example Code:
package org.eclipse.higgins.xdi4j.tutorial;
import java.io.File;
import java.io.FileInputStream;
import org.eclipse.higgins.xdi4j.Graph;
import org.eclipse.higgins.xdi4j.GraphFactory;
import org.eclipse.higgins.xdi4j.impl.memory.MemoryGraphFactory;
import org.eclipse.higgins.xdi4j.io.XDIReader;
import org.eclipse.higgins.xdi4j.io.XDIReaderRegistry;
import org.eclipse.higgins.xdi4j.io.XDIWriter;
import org.eclipse.higgins.xdi4j.io.XDIWriterRegistry;
/**
* This example app shows how to read a graph in one format
* and store it in another.
*/
public class Tutorial2A {
public static void main(String[] args) throws Exception {
GraphFactory factory = MemoryGraphFactory.getInstance();
Graph graph = factory.openGraph();
// read a graph from file
File file = new File("test.graph");
XDIReader reader = XDIReaderRegistry.getAuto();
reader.read(graph, new FileInputStream(file), null);
// output the graph in X3 Simple
XDIWriter writer;
writer = XDIWriterRegistry.forFormat("X3 Simple");
writer.write(graph, System.out, null);
graph.close();
}
}
