Skip to main content
Jump to: navigation, search

Difference between revisions of "XDI4j Tutorial 1"

m (logo, category, left menu)
Line 1: Line 1:
== Interfaces and classes ==
== Interfaces and classes ==

Revision as of 11:03, 16 December 2008


Higgins logo 76Wx100H.jpg

Interfaces and classes



This interface represents a whole XDI graph. XDI graphs consist of subjects, predicates, literals, references and inner graphs. Operations on the graph include creating these graph components, finding and manipulating them



This interface represents a subject in an XDI graph. Methods include creating and finding predicates of the subject.



This interface represents a predicate in an XDI graph. Methods include creating and finding references, literals and inner graphs of the predicate.



This interface represents a reference in an XDI graph.



This interface represents a literal in an XDI graph.



This interface represents a statement in an XDI graph.

A statement consists of either:

  • A subject (if the subject has no predicates).
  • A subject and a predicate (if the predicate has no references or literals).
  • A subject and a predicate and a reference.
  • A subject and a predicate and a literal.
  • A subject and a predicate and an inner graph.

A statement never has BOTH an reference and a literal.



Graph factories exist for all implementations of the Graph interface (e.g. Memory, XML, Hibernate). They can be used to create a new XDI document, or to load an existing one.


This example app shows how to create a new XDI document and how to perform basic graph operations on it.

package org.eclipse.higgins.xdi4j.tutorial;

import org.eclipse.higgins.xdi4j.Graph;
import org.eclipse.higgins.xdi4j.GraphFactory;
import org.eclipse.higgins.xdi4j.Predicate;
import org.eclipse.higgins.xdi4j.Subject;
import org.eclipse.higgins.xdi4j.impl.memory.MemoryGraphFactory;
import org.eclipse.higgins.xdi4j.xri3.impl.XRI3Segment;

 * This example app shows how to create a new XDI
 * document and how to perform basic graph operations on it.
 * @author msabadello at parityinc dot not
public class Tutorial1 {

	public static void main(String[] args) throws Exception {

		GraphFactory factory = MemoryGraphFactory.getInstance();
		Graph graph = factory.openGraph();

		// there are basically two ways of working with graphs

		// 1) work with subjects, predicates, references and literals

		Subject markus = graph.createSubject(new XRI3Segment("=markus"));

		Predicate name = markus.createPredicate(new XRI3Segment("+name"));
		Predicate friend = markus.createPredicate(new XRI3Segment("+friend"));

		friend.createReference(new XRI3Segment("=drummond"));

		// 2) work with statements

		graph.createStatement(new XRI3Segment("=markus"), new XRI3Segment("+friend"), new XRI3Segment("=giovanni"));
		graph.createStatement(new XRI3Segment("=giovanni"), new XRI3Segment("+friend"), new XRI3Segment("=drummond"));

		// after our graph is filled, we can output it



Back to the top