Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "XDI4j Tutorial 2"

(Serialization)
Line 63: Line 63:
 
</pre>
 
</pre>
  
== Serialization ==
+
== Deserialization ==
 
+
This example app shows how to output a graph in different serialization formats.
+
  
 
<pre>
 
<pre>
/*******************************************************************************
 
* Copyright (c) 2008 Parity Communications, Inc.
 
* All rights reserved. This program and the accompanying materials
 
* are made available under the terms of the Eclipse Public License v1.0
 
* which accompanies this distribution, and is available at
 
* http://www.eclipse.org/legal/epl-v10.html
 
*
 
* Contributors:
 
*    Markus Sabadello - Initial API and implementation
 
*******************************************************************************/
 
 
package org.eclipse.higgins.xdi4j.tutorial;
 
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.Graph;
 
import org.eclipse.higgins.xdi4j.GraphFactory;
 
import org.eclipse.higgins.xdi4j.GraphFactory;
 
import org.eclipse.higgins.xdi4j.impl.memory.MemoryGraphFactory;
 
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.XDIWriter;
 
import org.eclipse.higgins.xdi4j.io.XDIWriterRegistry;
 
import org.eclipse.higgins.xdi4j.io.XDIWriterRegistry;
import org.eclipse.higgins.xdi4j.xri3.impl.XRI3Segment;
 
  
 
/**
 
/**
  * This example app shows how to output
+
  * This example app shows how to read a graph in one format
* a graph in different serialization formats.
+
  * and store it in another.
*
+
* @author msabadello at parityinc dot not
+
  *
+
 
  */
 
  */
public class Tutorial2 {
+
public class Tutorial2A {
  
 
public static void main(String[] args) throws Exception {
 
public static void main(String[] args) throws Exception {
Line 101: Line 90:
 
Graph graph = factory.openGraph();
 
Graph graph = factory.openGraph();
  
// let's create a simple graph
+
// read a graph from file
  
graph.createStatement(new XRI3Segment("=markus"), new XRI3Segment("+name"), "Markus");
+
File file;
graph.createStatement(new XRI3Segment("=markus"), new XRI3Segment("+friend"), new XRI3Segment("=giovanni"));
+
XDIReader reader;
 +
 +
file = new File("test.graph");
 +
reader = XDIReaderRegistry.getAuto();
  
// output the graph in X3 Simple and XDI/XML
+
reader.read(graph, new FileInputStream(file), null);
 +
 +
// output the graph in X3 Simple
  
 
XDIWriter writer;
 
XDIWriter writer;
  
 
writer = XDIWriterRegistry.forFormat("X3 Simple");
 
writer = XDIWriterRegistry.forFormat("X3 Simple");
writer.write(graph, System.out, null);
 
 
writer = XDIWriterRegistry.forFormat("XDI/XML");
 
 
writer.write(graph, System.out, null);
 
writer.write(graph, System.out, null);
  

Revision as of 08:01, 29 January 2010

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}

Higgins logo 76Wx100H.jpg

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

This example app shows how to output a graph in different serialization formats.

/*******************************************************************************
 * Copyright (c) 2008 Parity Communications, Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Markus Sabadello - Initial API and implementation
 *******************************************************************************/
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.
 * 
 * @author msabadello at parityinc dot not
 *
 */
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("=markus"), new XRI3Segment("+name"), "Markus");
		graph.createStatement(new XRI3Segment("=markus"), new XRI3Segment("+friend"), new XRI3Segment("=giovanni"));

		// 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

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;
		XDIReader reader;
		
		file = new File("test.graph");
		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();
	}
}

Back to the top