All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: src/main/protobuf/graph_node.proto

package com.virtuslab.semanticgraphs.proto.model;

public final class GraphNodeOuterClass {
  private GraphNodeOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface LocationOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.virtuslab.semanticgraphs.proto.model.Location)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string uri = 1;
     */
    java.lang.String getUri();
    /**
     * string uri = 1;
     */
    com.google.protobuf.ByteString
        getUriBytes();

    /**
     * int32 startLine = 2;
     */
    int getStartLine();

    /**
     * int32 startCharacter = 3;
     */
    int getStartCharacter();

    /**
     * int32 endLine = 4;
     */
    int getEndLine();

    /**
     * int32 endCharacter = 5;
     */
    int getEndCharacter();
  }
  /**
   * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.Location}
   */
  public  static final class Location extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.virtuslab.semanticgraphs.proto.model.Location)
      LocationOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Location.newBuilder() to construct.
    private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Location() {
      uri_ = "";
      startLine_ = 0;
      startCharacter_ = 0;
      endLine_ = 0;
      endCharacter_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Location(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              uri_ = s;
              break;
            }
            case 16: {

              startLine_ = input.readInt32();
              break;
            }
            case 24: {

              startCharacter_ = input.readInt32();
              break;
            }
            case 32: {

              endLine_ = input.readInt32();
              break;
            }
            case 40: {

              endCharacter_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Location_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder.class);
    }

    public static final int URI_FIELD_NUMBER = 1;
    private volatile java.lang.Object uri_;
    /**
     * string uri = 1;
     */
    public java.lang.String getUri() {
      java.lang.Object ref = uri_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        uri_ = s;
        return s;
      }
    }
    /**
     * string uri = 1;
     */
    public com.google.protobuf.ByteString
        getUriBytes() {
      java.lang.Object ref = uri_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        uri_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STARTLINE_FIELD_NUMBER = 2;
    private int startLine_;
    /**
     * int32 startLine = 2;
     */
    public int getStartLine() {
      return startLine_;
    }

    public static final int STARTCHARACTER_FIELD_NUMBER = 3;
    private int startCharacter_;
    /**
     * int32 startCharacter = 3;
     */
    public int getStartCharacter() {
      return startCharacter_;
    }

    public static final int ENDLINE_FIELD_NUMBER = 4;
    private int endLine_;
    /**
     * int32 endLine = 4;
     */
    public int getEndLine() {
      return endLine_;
    }

    public static final int ENDCHARACTER_FIELD_NUMBER = 5;
    private int endCharacter_;
    /**
     * int32 endCharacter = 5;
     */
    public int getEndCharacter() {
      return endCharacter_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getUriBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
      }
      if (startLine_ != 0) {
        output.writeInt32(2, startLine_);
      }
      if (startCharacter_ != 0) {
        output.writeInt32(3, startCharacter_);
      }
      if (endLine_ != 0) {
        output.writeInt32(4, endLine_);
      }
      if (endCharacter_ != 0) {
        output.writeInt32(5, endCharacter_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getUriBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
      }
      if (startLine_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, startLine_);
      }
      if (startCharacter_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, startCharacter_);
      }
      if (endLine_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, endLine_);
      }
      if (endCharacter_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, endCharacter_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location)) {
        return super.equals(obj);
      }
      com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location other = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location) obj;

      boolean result = true;
      result = result && getUri()
          .equals(other.getUri());
      result = result && (getStartLine()
          == other.getStartLine());
      result = result && (getStartCharacter()
          == other.getStartCharacter());
      result = result && (getEndLine()
          == other.getEndLine());
      result = result && (getEndCharacter()
          == other.getEndCharacter());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + URI_FIELD_NUMBER;
      hash = (53 * hash) + getUri().hashCode();
      hash = (37 * hash) + STARTLINE_FIELD_NUMBER;
      hash = (53 * hash) + getStartLine();
      hash = (37 * hash) + STARTCHARACTER_FIELD_NUMBER;
      hash = (53 * hash) + getStartCharacter();
      hash = (37 * hash) + ENDLINE_FIELD_NUMBER;
      hash = (53 * hash) + getEndLine();
      hash = (37 * hash) + ENDCHARACTER_FIELD_NUMBER;
      hash = (53 * hash) + getEndCharacter();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.Location}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.virtuslab.semanticgraphs.proto.model.Location)
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Location_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder.class);
      }

      // Construct using com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        uri_ = "";

        startLine_ = 0;

        startCharacter_ = 0;

        endLine_ = 0;

        endCharacter_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getDefaultInstanceForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance();
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location build() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location buildPartial() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location result = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location(this);
        result.uri_ = uri_;
        result.startLine_ = startLine_;
        result.startCharacter_ = startCharacter_;
        result.endLine_ = endLine_;
        result.endCharacter_ = endCharacter_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location) {
          return mergeFrom((com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location other) {
        if (other == com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance()) return this;
        if (!other.getUri().isEmpty()) {
          uri_ = other.uri_;
          onChanged();
        }
        if (other.getStartLine() != 0) {
          setStartLine(other.getStartLine());
        }
        if (other.getStartCharacter() != 0) {
          setStartCharacter(other.getStartCharacter());
        }
        if (other.getEndLine() != 0) {
          setEndLine(other.getEndLine());
        }
        if (other.getEndCharacter() != 0) {
          setEndCharacter(other.getEndCharacter());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object uri_ = "";
      /**
       * string uri = 1;
       */
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string uri = 1;
       */
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string uri = 1;
       */
      public Builder setUri(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        uri_ = value;
        onChanged();
        return this;
      }
      /**
       * string uri = 1;
       */
      public Builder clearUri() {
        
        uri_ = getDefaultInstance().getUri();
        onChanged();
        return this;
      }
      /**
       * string uri = 1;
       */
      public Builder setUriBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        uri_ = value;
        onChanged();
        return this;
      }

      private int startLine_ ;
      /**
       * int32 startLine = 2;
       */
      public int getStartLine() {
        return startLine_;
      }
      /**
       * int32 startLine = 2;
       */
      public Builder setStartLine(int value) {
        
        startLine_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 startLine = 2;
       */
      public Builder clearStartLine() {
        
        startLine_ = 0;
        onChanged();
        return this;
      }

      private int startCharacter_ ;
      /**
       * int32 startCharacter = 3;
       */
      public int getStartCharacter() {
        return startCharacter_;
      }
      /**
       * int32 startCharacter = 3;
       */
      public Builder setStartCharacter(int value) {
        
        startCharacter_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 startCharacter = 3;
       */
      public Builder clearStartCharacter() {
        
        startCharacter_ = 0;
        onChanged();
        return this;
      }

      private int endLine_ ;
      /**
       * int32 endLine = 4;
       */
      public int getEndLine() {
        return endLine_;
      }
      /**
       * int32 endLine = 4;
       */
      public Builder setEndLine(int value) {
        
        endLine_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 endLine = 4;
       */
      public Builder clearEndLine() {
        
        endLine_ = 0;
        onChanged();
        return this;
      }

      private int endCharacter_ ;
      /**
       * int32 endCharacter = 5;
       */
      public int getEndCharacter() {
        return endCharacter_;
      }
      /**
       * int32 endCharacter = 5;
       */
      public Builder setEndCharacter(int value) {
        
        endCharacter_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 endCharacter = 5;
       */
      public Builder clearEndCharacter() {
        
        endCharacter_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.virtuslab.semanticgraphs.proto.model.Location)
    }

    // @@protoc_insertion_point(class_scope:com.virtuslab.semanticgraphs.proto.model.Location)
    private static final com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location();
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Location parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Location(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EdgeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.virtuslab.semanticgraphs.proto.model.Edge)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string to = 1;
     */
    java.lang.String getTo();
    /**
     * string to = 1;
     */
    com.google.protobuf.ByteString
        getToBytes();

    /**
     * string type = 2;
     */
    java.lang.String getType();
    /**
     * string type = 2;
     */
    com.google.protobuf.ByteString
        getTypeBytes();

    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    boolean hasLocation();
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation();
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder();
  }
  /**
   * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.Edge}
   */
  public  static final class Edge extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.virtuslab.semanticgraphs.proto.model.Edge)
      EdgeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Edge.newBuilder() to construct.
    private Edge(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Edge() {
      to_ = "";
      type_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Edge(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              to_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              type_ = s;
              break;
            }
            case 26: {
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder subBuilder = null;
              if (location_ != null) {
                subBuilder = location_.toBuilder();
              }
              location_ = input.readMessage(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(location_);
                location_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder.class);
    }

    public static final int TO_FIELD_NUMBER = 1;
    private volatile java.lang.Object to_;
    /**
     * string to = 1;
     */
    public java.lang.String getTo() {
      java.lang.Object ref = to_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        to_ = s;
        return s;
      }
    }
    /**
     * string to = 1;
     */
    public com.google.protobuf.ByteString
        getToBytes() {
      java.lang.Object ref = to_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        to_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private volatile java.lang.Object type_;
    /**
     * string type = 2;
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        type_ = s;
        return s;
      }
    }
    /**
     * string type = 2;
     */
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LOCATION_FIELD_NUMBER = 3;
    private com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location location_;
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public boolean hasLocation() {
      return location_ != null;
    }
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation() {
      return location_ == null ? com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
    }
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder() {
      return getLocation();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getToBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, to_);
      }
      if (!getTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, type_);
      }
      if (location_ != null) {
        output.writeMessage(3, getLocation());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getToBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, to_);
      }
      if (!getTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, type_);
      }
      if (location_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLocation());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge)) {
        return super.equals(obj);
      }
      com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge other = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge) obj;

      boolean result = true;
      result = result && getTo()
          .equals(other.getTo());
      result = result && getType()
          .equals(other.getType());
      result = result && (hasLocation() == other.hasLocation());
      if (hasLocation()) {
        result = result && getLocation()
            .equals(other.getLocation());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TO_FIELD_NUMBER;
      hash = (53 * hash) + getTo().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType().hashCode();
      if (hasLocation()) {
        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getLocation().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.Edge}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.virtuslab.semanticgraphs.proto.model.Edge)
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder.class);
      }

      // Construct using com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        to_ = "";

        type_ = "";

        if (locationBuilder_ == null) {
          location_ = null;
        } else {
          location_ = null;
          locationBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getDefaultInstanceForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.getDefaultInstance();
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge build() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge buildPartial() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge result = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge(this);
        result.to_ = to_;
        result.type_ = type_;
        if (locationBuilder_ == null) {
          result.location_ = location_;
        } else {
          result.location_ = locationBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge) {
          return mergeFrom((com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge other) {
        if (other == com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.getDefaultInstance()) return this;
        if (!other.getTo().isEmpty()) {
          to_ = other.to_;
          onChanged();
        }
        if (!other.getType().isEmpty()) {
          type_ = other.type_;
          onChanged();
        }
        if (other.hasLocation()) {
          mergeLocation(other.getLocation());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object to_ = "";
      /**
       * string to = 1;
       */
      public java.lang.String getTo() {
        java.lang.Object ref = to_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          to_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string to = 1;
       */
      public com.google.protobuf.ByteString
          getToBytes() {
        java.lang.Object ref = to_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          to_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string to = 1;
       */
      public Builder setTo(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        to_ = value;
        onChanged();
        return this;
      }
      /**
       * string to = 1;
       */
      public Builder clearTo() {
        
        to_ = getDefaultInstance().getTo();
        onChanged();
        return this;
      }
      /**
       * string to = 1;
       */
      public Builder setToBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        to_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object type_ = "";
      /**
       * string type = 2;
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          type_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string type = 2;
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string type = 2;
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * string type = 2;
       */
      public Builder clearType() {
        
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * string type = 2;
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        type_ = value;
        onChanged();
        return this;
      }

      private com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location location_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder> locationBuilder_;
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public boolean hasLocation() {
        return locationBuilder_ != null || location_ != null;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation() {
        if (locationBuilder_ == null) {
          return location_ == null ? com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
        } else {
          return locationBuilder_.getMessage();
        }
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder setLocation(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location value) {
        if (locationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          location_ = value;
          onChanged();
        } else {
          locationBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder setLocation(
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder builderForValue) {
        if (locationBuilder_ == null) {
          location_ = builderForValue.build();
          onChanged();
        } else {
          locationBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder mergeLocation(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location value) {
        if (locationBuilder_ == null) {
          if (location_ != null) {
            location_ =
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.newBuilder(location_).mergeFrom(value).buildPartial();
          } else {
            location_ = value;
          }
          onChanged();
        } else {
          locationBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder clearLocation() {
        if (locationBuilder_ == null) {
          location_ = null;
          onChanged();
        } else {
          location_ = null;
          locationBuilder_ = null;
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder getLocationBuilder() {
        
        onChanged();
        return getLocationFieldBuilder().getBuilder();
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder() {
        if (locationBuilder_ != null) {
          return locationBuilder_.getMessageOrBuilder();
        } else {
          return location_ == null ?
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
        }
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder> 
          getLocationFieldBuilder() {
        if (locationBuilder_ == null) {
          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder>(
                  getLocation(),
                  getParentForChildren(),
                  isClean());
          location_ = null;
        }
        return locationBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.virtuslab.semanticgraphs.proto.model.Edge)
    }

    // @@protoc_insertion_point(class_scope:com.virtuslab.semanticgraphs.proto.model.Edge)
    private static final com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge();
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Edge parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Edge(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GraphNodeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.virtuslab.semanticgraphs.proto.model.GraphNode)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string id = 1;
     */
    java.lang.String getId();
    /**
     * string id = 1;
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * string kind = 2;
     */
    java.lang.String getKind();
    /**
     * string kind = 2;
     */
    com.google.protobuf.ByteString
        getKindBytes();

    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    boolean hasLocation();
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation();
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder();

    /**
     * map<string, string> properties = 4;
     */
    int getPropertiesCount();
    /**
     * map<string, string> properties = 4;
     */
    boolean containsProperties(
        java.lang.String key);
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getProperties();
    /**
     * map<string, string> properties = 4;
     */
    java.util.Map
    getPropertiesMap();
    /**
     * map<string, string> properties = 4;
     */

    java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> properties = 4;
     */

    java.lang.String getPropertiesOrThrow(
        java.lang.String key);

    /**
     * string displayName = 5;
     */
    java.lang.String getDisplayName();
    /**
     * string displayName = 5;
     */
    com.google.protobuf.ByteString
        getDisplayNameBytes();

    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    java.util.List 
        getEdgesList();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getEdges(int index);
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    int getEdgesCount();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    java.util.List 
        getEdgesOrBuilderList();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder getEdgesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.GraphNode}
   */
  public  static final class GraphNode extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.virtuslab.semanticgraphs.proto.model.GraphNode)
      GraphNodeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GraphNode.newBuilder() to construct.
    private GraphNode(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private GraphNode() {
      id_ = "";
      kind_ = "";
      displayName_ = "";
      edges_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GraphNode(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              kind_ = s;
              break;
            }
            case 26: {
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder subBuilder = null;
              if (location_ != null) {
                subBuilder = location_.toBuilder();
              }
              location_ = input.readMessage(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(location_);
                location_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                properties_ = com.google.protobuf.MapField.newMapField(
                    PropertiesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000008;
              }
              com.google.protobuf.MapEntry
              properties__ = input.readMessage(
                  PropertiesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              properties_.getMutableMap().put(
                  properties__.getKey(), properties__.getValue());
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              displayName_ = s;
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                edges_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              edges_.add(
                  input.readMessage(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          edges_ = java.util.Collections.unmodifiableList(edges_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetProperties();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int KIND_FIELD_NUMBER = 2;
    private volatile java.lang.Object kind_;
    /**
     * string kind = 2;
     */
    public java.lang.String getKind() {
      java.lang.Object ref = kind_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        kind_ = s;
        return s;
      }
    }
    /**
     * string kind = 2;
     */
    public com.google.protobuf.ByteString
        getKindBytes() {
      java.lang.Object ref = kind_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kind_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LOCATION_FIELD_NUMBER = 3;
    private com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location location_;
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public boolean hasLocation() {
      return location_ != null;
    }
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation() {
      return location_ == null ? com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
    }
    /**
     * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder() {
      return getLocation();
    }

    public static final int PROPERTIES_FIELD_NUMBER = 4;
    private static final class PropertiesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> properties_;
    private com.google.protobuf.MapField
    internalGetProperties() {
      if (properties_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            PropertiesDefaultEntryHolder.defaultEntry);
      }
      return properties_;
    }

    public int getPropertiesCount() {
      return internalGetProperties().getMap().size();
    }
    /**
     * map<string, string> properties = 4;
     */

    public boolean containsProperties(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetProperties().getMap().containsKey(key);
    }
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map getProperties() {
      return getPropertiesMap();
    }
    /**
     * map<string, string> properties = 4;
     */

    public java.util.Map getPropertiesMap() {
      return internalGetProperties().getMap();
    }
    /**
     * map<string, string> properties = 4;
     */

    public java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> properties = 4;
     */

    public java.lang.String getPropertiesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int DISPLAYNAME_FIELD_NUMBER = 5;
    private volatile java.lang.Object displayName_;
    /**
     * string displayName = 5;
     */
    public java.lang.String getDisplayName() {
      java.lang.Object ref = displayName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        displayName_ = s;
        return s;
      }
    }
    /**
     * string displayName = 5;
     */
    public com.google.protobuf.ByteString
        getDisplayNameBytes() {
      java.lang.Object ref = displayName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        displayName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EDGES_FIELD_NUMBER = 6;
    private java.util.List edges_;
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    public java.util.List getEdgesList() {
      return edges_;
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    public java.util.List 
        getEdgesOrBuilderList() {
      return edges_;
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    public int getEdgesCount() {
      return edges_.size();
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getEdges(int index) {
      return edges_.get(index);
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder getEdgesOrBuilder(
        int index) {
      return edges_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!getKindBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, kind_);
      }
      if (location_ != null) {
        output.writeMessage(3, getLocation());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetProperties(),
          PropertiesDefaultEntryHolder.defaultEntry,
          4);
      if (!getDisplayNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, displayName_);
      }
      for (int i = 0; i < edges_.size(); i++) {
        output.writeMessage(6, edges_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!getKindBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, kind_);
      }
      if (location_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLocation());
      }
      for (java.util.Map.Entry entry
           : internalGetProperties().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        properties__ = PropertiesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, properties__);
      }
      if (!getDisplayNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, displayName_);
      }
      for (int i = 0; i < edges_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, edges_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode)) {
        return super.equals(obj);
      }
      com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode other = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      result = result && getKind()
          .equals(other.getKind());
      result = result && (hasLocation() == other.hasLocation());
      if (hasLocation()) {
        result = result && getLocation()
            .equals(other.getLocation());
      }
      result = result && internalGetProperties().equals(
          other.internalGetProperties());
      result = result && getDisplayName()
          .equals(other.getDisplayName());
      result = result && getEdgesList()
          .equals(other.getEdgesList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + KIND_FIELD_NUMBER;
      hash = (53 * hash) + getKind().hashCode();
      if (hasLocation()) {
        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getLocation().hashCode();
      }
      if (!internalGetProperties().getMap().isEmpty()) {
        hash = (37 * hash) + PROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetProperties().hashCode();
      }
      hash = (37 * hash) + DISPLAYNAME_FIELD_NUMBER;
      hash = (53 * hash) + getDisplayName().hashCode();
      if (getEdgesCount() > 0) {
        hash = (37 * hash) + EDGES_FIELD_NUMBER;
        hash = (53 * hash) + getEdgesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.GraphNode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.virtuslab.semanticgraphs.proto.model.GraphNode)
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetProperties();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetMutableProperties();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder.class);
      }

      // Construct using com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEdgesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = "";

        kind_ = "";

        if (locationBuilder_ == null) {
          location_ = null;
        } else {
          location_ = null;
          locationBuilder_ = null;
        }
        internalGetMutableProperties().clear();
        displayName_ = "";

        if (edgesBuilder_ == null) {
          edges_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          edgesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getDefaultInstanceForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.getDefaultInstance();
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode build() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode buildPartial() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode result = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.id_ = id_;
        result.kind_ = kind_;
        if (locationBuilder_ == null) {
          result.location_ = location_;
        } else {
          result.location_ = locationBuilder_.build();
        }
        result.properties_ = internalGetProperties();
        result.properties_.makeImmutable();
        result.displayName_ = displayName_;
        if (edgesBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            edges_ = java.util.Collections.unmodifiableList(edges_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.edges_ = edges_;
        } else {
          result.edges_ = edgesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode) {
          return mergeFrom((com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode other) {
        if (other == com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getKind().isEmpty()) {
          kind_ = other.kind_;
          onChanged();
        }
        if (other.hasLocation()) {
          mergeLocation(other.getLocation());
        }
        internalGetMutableProperties().mergeFrom(
            other.internalGetProperties());
        if (!other.getDisplayName().isEmpty()) {
          displayName_ = other.displayName_;
          onChanged();
        }
        if (edgesBuilder_ == null) {
          if (!other.edges_.isEmpty()) {
            if (edges_.isEmpty()) {
              edges_ = other.edges_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureEdgesIsMutable();
              edges_.addAll(other.edges_);
            }
            onChanged();
          }
        } else {
          if (!other.edges_.isEmpty()) {
            if (edgesBuilder_.isEmpty()) {
              edgesBuilder_.dispose();
              edgesBuilder_ = null;
              edges_ = other.edges_;
              bitField0_ = (bitField0_ & ~0x00000020);
              edgesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getEdgesFieldBuilder() : null;
            } else {
              edgesBuilder_.addAllMessages(other.edges_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object kind_ = "";
      /**
       * string kind = 2;
       */
      public java.lang.String getKind() {
        java.lang.Object ref = kind_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          kind_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string kind = 2;
       */
      public com.google.protobuf.ByteString
          getKindBytes() {
        java.lang.Object ref = kind_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          kind_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string kind = 2;
       */
      public Builder setKind(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        kind_ = value;
        onChanged();
        return this;
      }
      /**
       * string kind = 2;
       */
      public Builder clearKind() {
        
        kind_ = getDefaultInstance().getKind();
        onChanged();
        return this;
      }
      /**
       * string kind = 2;
       */
      public Builder setKindBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        kind_ = value;
        onChanged();
        return this;
      }

      private com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location location_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder> locationBuilder_;
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public boolean hasLocation() {
        return locationBuilder_ != null || location_ != null;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location getLocation() {
        if (locationBuilder_ == null) {
          return location_ == null ? com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
        } else {
          return locationBuilder_.getMessage();
        }
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder setLocation(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location value) {
        if (locationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          location_ = value;
          onChanged();
        } else {
          locationBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder setLocation(
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder builderForValue) {
        if (locationBuilder_ == null) {
          location_ = builderForValue.build();
          onChanged();
        } else {
          locationBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder mergeLocation(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location value) {
        if (locationBuilder_ == null) {
          if (location_ != null) {
            location_ =
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.newBuilder(location_).mergeFrom(value).buildPartial();
          } else {
            location_ = value;
          }
          onChanged();
        } else {
          locationBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public Builder clearLocation() {
        if (locationBuilder_ == null) {
          location_ = null;
          onChanged();
        } else {
          location_ = null;
          locationBuilder_ = null;
        }

        return this;
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder getLocationBuilder() {
        
        onChanged();
        return getLocationFieldBuilder().getBuilder();
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder getLocationOrBuilder() {
        if (locationBuilder_ != null) {
          return locationBuilder_.getMessageOrBuilder();
        } else {
          return location_ == null ?
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.getDefaultInstance() : location_;
        }
      }
      /**
       * .com.virtuslab.semanticgraphs.proto.model.Location location = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder> 
          getLocationFieldBuilder() {
        if (locationBuilder_ == null) {
          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Location.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.LocationOrBuilder>(
                  getLocation(),
                  getParentForChildren(),
                  isClean());
          location_ = null;
        }
        return locationBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> properties_;
      private com.google.protobuf.MapField
      internalGetProperties() {
        if (properties_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        return properties_;
      }
      private com.google.protobuf.MapField
      internalGetMutableProperties() {
        onChanged();;
        if (properties_ == null) {
          properties_ = com.google.protobuf.MapField.newMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        if (!properties_.isMutable()) {
          properties_ = properties_.copy();
        }
        return properties_;
      }

      public int getPropertiesCount() {
        return internalGetProperties().getMap().size();
      }
      /**
       * map<string, string> properties = 4;
       */

      public boolean containsProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetProperties().getMap().containsKey(key);
      }
      /**
       * Use {@link #getPropertiesMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map getProperties() {
        return getPropertiesMap();
      }
      /**
       * map<string, string> properties = 4;
       */

      public java.util.Map getPropertiesMap() {
        return internalGetProperties().getMap();
      }
      /**
       * map<string, string> properties = 4;
       */

      public java.lang.String getPropertiesOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> properties = 4;
       */

      public java.lang.String getPropertiesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearProperties() {
        internalGetMutableProperties().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> properties = 4;
       */

      public Builder removeProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableProperties() {
        return internalGetMutableProperties().getMutableMap();
      }
      /**
       * map<string, string> properties = 4;
       */
      public Builder putProperties(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> properties = 4;
       */

      public Builder putAllProperties(
          java.util.Map values) {
        internalGetMutableProperties().getMutableMap()
            .putAll(values);
        return this;
      }

      private java.lang.Object displayName_ = "";
      /**
       * string displayName = 5;
       */
      public java.lang.String getDisplayName() {
        java.lang.Object ref = displayName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          displayName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string displayName = 5;
       */
      public com.google.protobuf.ByteString
          getDisplayNameBytes() {
        java.lang.Object ref = displayName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          displayName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string displayName = 5;
       */
      public Builder setDisplayName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        displayName_ = value;
        onChanged();
        return this;
      }
      /**
       * string displayName = 5;
       */
      public Builder clearDisplayName() {
        
        displayName_ = getDefaultInstance().getDisplayName();
        onChanged();
        return this;
      }
      /**
       * string displayName = 5;
       */
      public Builder setDisplayNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        displayName_ = value;
        onChanged();
        return this;
      }

      private java.util.List edges_ =
        java.util.Collections.emptyList();
      private void ensureEdgesIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          edges_ = new java.util.ArrayList(edges_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder> edgesBuilder_;

      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public java.util.List getEdgesList() {
        if (edgesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(edges_);
        } else {
          return edgesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public int getEdgesCount() {
        if (edgesBuilder_ == null) {
          return edges_.size();
        } else {
          return edgesBuilder_.getCount();
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge getEdges(int index) {
        if (edgesBuilder_ == null) {
          return edges_.get(index);
        } else {
          return edgesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder setEdges(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge value) {
        if (edgesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEdgesIsMutable();
          edges_.set(index, value);
          onChanged();
        } else {
          edgesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder setEdges(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder builderForValue) {
        if (edgesBuilder_ == null) {
          ensureEdgesIsMutable();
          edges_.set(index, builderForValue.build());
          onChanged();
        } else {
          edgesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder addEdges(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge value) {
        if (edgesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEdgesIsMutable();
          edges_.add(value);
          onChanged();
        } else {
          edgesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder addEdges(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge value) {
        if (edgesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEdgesIsMutable();
          edges_.add(index, value);
          onChanged();
        } else {
          edgesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder addEdges(
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder builderForValue) {
        if (edgesBuilder_ == null) {
          ensureEdgesIsMutable();
          edges_.add(builderForValue.build());
          onChanged();
        } else {
          edgesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder addEdges(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder builderForValue) {
        if (edgesBuilder_ == null) {
          ensureEdgesIsMutable();
          edges_.add(index, builderForValue.build());
          onChanged();
        } else {
          edgesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder addAllEdges(
          java.lang.Iterable values) {
        if (edgesBuilder_ == null) {
          ensureEdgesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, edges_);
          onChanged();
        } else {
          edgesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder clearEdges() {
        if (edgesBuilder_ == null) {
          edges_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          edgesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public Builder removeEdges(int index) {
        if (edgesBuilder_ == null) {
          ensureEdgesIsMutable();
          edges_.remove(index);
          onChanged();
        } else {
          edgesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder getEdgesBuilder(
          int index) {
        return getEdgesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder getEdgesOrBuilder(
          int index) {
        if (edgesBuilder_ == null) {
          return edges_.get(index);  } else {
          return edgesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public java.util.List 
           getEdgesOrBuilderList() {
        if (edgesBuilder_ != null) {
          return edgesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(edges_);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder addEdgesBuilder() {
        return getEdgesFieldBuilder().addBuilder(
            com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.getDefaultInstance());
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder addEdgesBuilder(
          int index) {
        return getEdgesFieldBuilder().addBuilder(
            index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.getDefaultInstance());
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.Edge edges = 6;
       */
      public java.util.List 
           getEdgesBuilderList() {
        return getEdgesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder> 
          getEdgesFieldBuilder() {
        if (edgesBuilder_ == null) {
          edgesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.Edge.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.EdgeOrBuilder>(
                  edges_,
                  ((bitField0_ & 0x00000020) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          edges_ = null;
        }
        return edgesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.virtuslab.semanticgraphs.proto.model.GraphNode)
    }

    // @@protoc_insertion_point(class_scope:com.virtuslab.semanticgraphs.proto.model.GraphNode)
    private static final com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode();
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GraphNode parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GraphNode(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SemanticGraphFileOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string uri = 1;
     */
    java.lang.String getUri();
    /**
     * string uri = 1;
     */
    com.google.protobuf.ByteString
        getUriBytes();

    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    java.util.List 
        getNodesList();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getNodes(int index);
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    int getNodesCount();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    java.util.List 
        getNodesOrBuilderList();
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder getNodesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile}
   */
  public  static final class SemanticGraphFile extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile)
      SemanticGraphFileOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SemanticGraphFile.newBuilder() to construct.
    private SemanticGraphFile(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SemanticGraphFile() {
      uri_ = "";
      nodes_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SemanticGraphFile(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              uri_ = s;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                nodes_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              nodes_.add(
                  input.readMessage(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          nodes_ = java.util.Collections.unmodifiableList(nodes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.Builder.class);
    }

    private int bitField0_;
    public static final int URI_FIELD_NUMBER = 1;
    private volatile java.lang.Object uri_;
    /**
     * string uri = 1;
     */
    public java.lang.String getUri() {
      java.lang.Object ref = uri_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        uri_ = s;
        return s;
      }
    }
    /**
     * string uri = 1;
     */
    public com.google.protobuf.ByteString
        getUriBytes() {
      java.lang.Object ref = uri_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        uri_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NODES_FIELD_NUMBER = 2;
    private java.util.List nodes_;
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    public java.util.List getNodesList() {
      return nodes_;
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    public java.util.List 
        getNodesOrBuilderList() {
      return nodes_;
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    public int getNodesCount() {
      return nodes_.size();
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getNodes(int index) {
      return nodes_.get(index);
    }
    /**
     * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
     */
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder getNodesOrBuilder(
        int index) {
      return nodes_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getUriBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
      }
      for (int i = 0; i < nodes_.size(); i++) {
        output.writeMessage(2, nodes_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getUriBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
      }
      for (int i = 0; i < nodes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, nodes_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile)) {
        return super.equals(obj);
      }
      com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile other = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile) obj;

      boolean result = true;
      result = result && getUri()
          .equals(other.getUri());
      result = result && getNodesList()
          .equals(other.getNodesList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + URI_FIELD_NUMBER;
      hash = (53 * hash) + getUri().hashCode();
      if (getNodesCount() > 0) {
        hash = (37 * hash) + NODES_FIELD_NUMBER;
        hash = (53 * hash) + getNodesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile)
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFileOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.class, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.Builder.class);
      }

      // Construct using com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getNodesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        uri_ = "";

        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile getDefaultInstanceForType() {
        return com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.getDefaultInstance();
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile build() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile buildPartial() {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile result = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.uri_ = uri_;
        if (nodesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            nodes_ = java.util.Collections.unmodifiableList(nodes_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.nodes_ = nodes_;
        } else {
          result.nodes_ = nodesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile) {
          return mergeFrom((com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile other) {
        if (other == com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile.getDefaultInstance()) return this;
        if (!other.getUri().isEmpty()) {
          uri_ = other.uri_;
          onChanged();
        }
        if (nodesBuilder_ == null) {
          if (!other.nodes_.isEmpty()) {
            if (nodes_.isEmpty()) {
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureNodesIsMutable();
              nodes_.addAll(other.nodes_);
            }
            onChanged();
          }
        } else {
          if (!other.nodes_.isEmpty()) {
            if (nodesBuilder_.isEmpty()) {
              nodesBuilder_.dispose();
              nodesBuilder_ = null;
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000002);
              nodesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNodesFieldBuilder() : null;
            } else {
              nodesBuilder_.addAllMessages(other.nodes_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object uri_ = "";
      /**
       * string uri = 1;
       */
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string uri = 1;
       */
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string uri = 1;
       */
      public Builder setUri(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        uri_ = value;
        onChanged();
        return this;
      }
      /**
       * string uri = 1;
       */
      public Builder clearUri() {
        
        uri_ = getDefaultInstance().getUri();
        onChanged();
        return this;
      }
      /**
       * string uri = 1;
       */
      public Builder setUriBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        uri_ = value;
        onChanged();
        return this;
      }

      private java.util.List nodes_ =
        java.util.Collections.emptyList();
      private void ensureNodesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          nodes_ = new java.util.ArrayList(nodes_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder> nodesBuilder_;

      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public java.util.List getNodesList() {
        if (nodesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(nodes_);
        } else {
          return nodesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public int getNodesCount() {
        if (nodesBuilder_ == null) {
          return nodes_.size();
        } else {
          return nodesBuilder_.getCount();
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode getNodes(int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);
        } else {
          return nodesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder setNodes(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.set(index, value);
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder setNodes(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.set(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder addNodes(com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder addNodes(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(index, value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder addNodes(
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder addNodes(
          int index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder addAllNodes(
          java.lang.Iterable values) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, nodes_);
          onChanged();
        } else {
          nodesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder clearNodes() {
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public Builder removeNodes(int index) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.remove(index);
          onChanged();
        } else {
          nodesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder getNodesBuilder(
          int index) {
        return getNodesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder getNodesOrBuilder(
          int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);  } else {
          return nodesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public java.util.List 
           getNodesOrBuilderList() {
        if (nodesBuilder_ != null) {
          return nodesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(nodes_);
        }
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder addNodesBuilder() {
        return getNodesFieldBuilder().addBuilder(
            com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.getDefaultInstance());
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder addNodesBuilder(
          int index) {
        return getNodesFieldBuilder().addBuilder(
            index, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.getDefaultInstance());
      }
      /**
       * repeated .com.virtuslab.semanticgraphs.proto.model.GraphNode nodes = 2;
       */
      public java.util.List 
           getNodesBuilderList() {
        return getNodesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder> 
          getNodesFieldBuilder() {
        if (nodesBuilder_ == null) {
          nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNode.Builder, com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.GraphNodeOrBuilder>(
                  nodes_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          nodes_ = null;
        }
        return nodesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile)
    }

    // @@protoc_insertion_point(class_scope:com.virtuslab.semanticgraphs.proto.model.SemanticGraphFile)
    private static final com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile();
    }

    public static com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public SemanticGraphFile parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new SemanticGraphFile(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.virtuslab.semanticgraphs.proto.model.GraphNodeOuterClass.SemanticGraphFile getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_virtuslab_semanticgraphs_proto_model_Location_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\"src/main/protobuf/graph_node.proto\022(co" +
      "m.virtuslab.semanticgraphs.proto.model\"i" +
      "\n\010Location\022\013\n\003uri\030\001 \001(\t\022\021\n\tstartLine\030\002 \001" +
      "(\005\022\026\n\016startCharacter\030\003 \001(\005\022\017\n\007endLine\030\004 " +
      "\001(\005\022\024\n\014endCharacter\030\005 \001(\005\"f\n\004Edge\022\n\n\002to\030" +
      "\001 \001(\t\022\014\n\004type\030\002 \001(\t\022D\n\010location\030\003 \001(\01322." +
      "com.virtuslab.semanticgraphs.proto.model" +
      ".Location\"\313\002\n\tGraphNode\022\n\n\002id\030\001 \001(\t\022\014\n\004k" +
      "ind\030\002 \001(\t\022D\n\010location\030\003 \001(\01322.com.virtus" +
      "lab.semanticgraphs.proto.model.Location\022" +
      "W\n\nproperties\030\004 \003(\0132C.com.virtuslab.sema" +
      "nticgraphs.proto.model.GraphNode.Propert" +
      "iesEntry\022\023\n\013displayName\030\005 \001(\t\022=\n\005edges\030\006" +
      " \003(\0132..com.virtuslab.semanticgraphs.prot" +
      "o.model.Edge\0321\n\017PropertiesEntry\022\013\n\003key\030\001" +
      " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"d\n\021SemanticGraph" +
      "File\022\013\n\003uri\030\001 \001(\t\022B\n\005nodes\030\002 \003(\01323.com.v" +
      "irtuslab.semanticgraphs.proto.model.Grap" +
      "hNodeb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_virtuslab_semanticgraphs_proto_model_Location_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_virtuslab_semanticgraphs_proto_model_Location_descriptor,
        new java.lang.String[] { "Uri", "StartLine", "StartCharacter", "EndLine", "EndCharacter", });
    internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_virtuslab_semanticgraphs_proto_model_Edge_descriptor,
        new java.lang.String[] { "To", "Type", "Location", });
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor,
        new java.lang.String[] { "Id", "Kind", "Location", "Properties", "DisplayName", "Edges", });
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_descriptor =
      internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_descriptor.getNestedTypes().get(0);
    internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_virtuslab_semanticgraphs_proto_model_GraphNode_PropertiesEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_virtuslab_semanticgraphs_proto_model_SemanticGraphFile_descriptor,
        new java.lang.String[] { "Uri", "Nodes", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy