Class GraphSONReader
java.lang.Object
org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader
- All Implemented Interfaces:
GraphReader
A @{link GraphReader} that constructs a graph from a JSON-based representation of a graph and its elements.
This implementation only supports JSON data types and is therefore lossy with respect to data types (e.g. a
float will become a double, element IDs may not be retrieved in the format they were serialized, etc.).
Edge and Vertex objects are serialized to Map instances. If an
Element is used as a key, it is coerced to its identifier. Other complex objects are converted via
Object.toString() unless there is a mapper serializer supplied.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.io.GraphReader
GraphReader.ReaderBuilder<T extends GraphReader> -
Method Summary
Modifier and TypeMethodDescriptionstatic GraphSONReader.Builderbuild()readEdge(InputStream inputStream, Function<Attachable<Edge>, Edge> edgeAttachMethod) Read anEdgefrom output generated byGraphSONWriter.writeEdge(OutputStream, Edge)or via anEdgepassed toGraphSONWriter.writeObject(OutputStream, Object).voidreadGraph(InputStream inputStream, Graph graphToWriteTo) Read data into aGraphfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGryoWriter.writeGraph(OutputStream, Graph).<C> CreadObject(InputStream inputStream, Class<? extends C> clazz) Reads an arbitrary object using the registered serializers.readProperty(InputStream inputStream, Function<Attachable<Property>, Property> propertyAttachMethod) Read aPropertyfrom output generated byGraphSONWriter.writeProperty(OutputStream, Property)or via anPropertypassed toGraphSONWriter.writeObject(OutputStream, Object).readVertex(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod) Read aVertexfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).readVertex(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod, Function<Attachable<Edge>, Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection) Read aVertexfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).readVertexProperty(InputStream inputStream, Function<Attachable<VertexProperty>, VertexProperty> vertexPropertyAttachMethod) Read aVertexPropertyfrom output generated byGraphSONWriter.writeVertexProperty(OutputStream, VertexProperty)or via anVertexPropertypassed toGraphSONWriter.writeObject(OutputStream, Object).readVertices(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod, Function<Attachable<Edge>, Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection) ReadVertexobjects from output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.tinkerpop.gremlin.structure.io.GraphReader
readVertex
-
Method Details
-
readGraph
Read data into aGraphfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGryoWriter.writeGraph(OutputStream, Graph).- Specified by:
readGraphin interfaceGraphReader- Parameters:
inputStream- a stream containing an entire graph of vertices and edges as defined by the accompanyingGraphSONWriter.writeGraph(OutputStream, Graph).graphToWriteTo- the graph to write to when reading from the stream.- Throws:
IOException
-
readVertices
public Iterator<Vertex> readVertices(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod, Function<Attachable<Edge>, throws IOExceptionEdge> edgeAttachMethod, Direction attachEdgesOfThisDirection) ReadVertexobjects from output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).- Specified by:
readVerticesin interfaceGraphReader- Parameters:
inputStream- a stream containing at least oneVertexas defined by the accompanyingGraphWriter.writeVertices(OutputStream, Iterator, Direction)orGraphWriter.writeVertices(OutputStream, Iterator)methods.vertexAttachMethod- a function that creates re-attaches aVertexto aHostobject.edgeAttachMethod- a function that creates re-attaches aEdgeto aHostobject.attachEdgesOfThisDirection- only edges of this direction are passed to theedgeMaker.- Throws:
IOException
-
readVertex
public Vertex readVertex(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod) throws IOExceptionRead aVertexfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).- Specified by:
readVertexin interfaceGraphReader- Parameters:
inputStream- a stream containing at least a single vertex as defined by the accompanyingGraphWriter.writeVertex(OutputStream, Vertex).vertexAttachMethod- a function that creates re-attaches aVertexto aHostobject.- Throws:
IOException
-
readVertex
public Vertex readVertex(InputStream inputStream, Function<Attachable<Vertex>, Vertex> vertexAttachMethod, Function<Attachable<Edge>, throws IOExceptionEdge> edgeAttachMethod, Direction attachEdgesOfThisDirection) Read aVertexfrom output generated by any of theGraphSONWriterwriteVertexorwriteVerticesmethods or byGraphSONWriter.writeGraph(OutputStream, Graph).- Specified by:
readVertexin interfaceGraphReader- Parameters:
inputStream- a stream containing at least oneVertexas defined by the accompanyingGraphWriter.writeVertices(OutputStream, Iterator, Direction)method.vertexAttachMethod- a function that creates re-attaches aVertexto aHostobject.edgeAttachMethod- a function that creates re-attaches aEdgeto aHostobject.attachEdgesOfThisDirection- only edges of this direction are passed to theedgeMaker.- Throws:
IOException
-
readEdge
public Edge readEdge(InputStream inputStream, Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOExceptionRead anEdgefrom output generated byGraphSONWriter.writeEdge(OutputStream, Edge)or via anEdgepassed toGraphSONWriter.writeObject(OutputStream, Object).- Specified by:
readEdgein interfaceGraphReader- Parameters:
inputStream- a stream containing at least oneEdgeas defined by the accompanyingGraphWriter.writeEdge(OutputStream, Edge)method.edgeAttachMethod- a function that creates re-attaches aEdgeto aHostobject.- Throws:
IOException
-
readVertexProperty
public VertexProperty readVertexProperty(InputStream inputStream, Function<Attachable<VertexProperty>, VertexProperty> vertexPropertyAttachMethod) throws IOExceptionRead aVertexPropertyfrom output generated byGraphSONWriter.writeVertexProperty(OutputStream, VertexProperty)or via anVertexPropertypassed toGraphSONWriter.writeObject(OutputStream, Object).- Specified by:
readVertexPropertyin interfaceGraphReader- Parameters:
inputStream- a stream containing at least oneVertexPropertyas written by the accompanyingGraphWriter.writeVertexProperty(OutputStream, VertexProperty)method.vertexPropertyAttachMethod- a function that creates re-attaches aVertexPropertyto aHostobject.- Returns:
- the value returned by the attach method.
- Throws:
IOException
-
readProperty
public Property readProperty(InputStream inputStream, Function<Attachable<Property>, Property> propertyAttachMethod) throws IOExceptionRead aPropertyfrom output generated byGraphSONWriter.writeProperty(OutputStream, Property)or via anPropertypassed toGraphSONWriter.writeObject(OutputStream, Object).- Specified by:
readPropertyin interfaceGraphReader- Parameters:
inputStream- a stream containing at least onePropertyas written by the accompanyingGraphWriter.writeProperty(OutputStream, Property)method.propertyAttachMethod- a function that creates re-attaches aPropertyto aHostobject.- Returns:
- the value returned by the attach method.
- Throws:
IOException
-
readObject
Reads an arbitrary object using the registered serializers.- Specified by:
readObjectin interfaceGraphReader- Parameters:
inputStream- a stream containing an object.clazz- the class expected to be in the stream - may or may not be used by the underlying implementation.- Throws:
IOException
-
build
-