Sha256: 8ac0e4e44227747f1c3d146ff1b9b4dbd02a5f832b3c098e43dff6b9713358e8

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

module RDF
  ##
  # An RDF blank node, also known as an unlabeled node.
  #
  # @example Creating a blank node with an implicit identifier
  #   bnode = RDF::Node.new
  #
  # @example Creating a blank node with an UUID identifier (1)
  #   require 'uuid'
  #   bnode = RDF::Node.new(UUID.generate)
  #
  # @example Creating a blank node with an UUID identifier (2)
  #   require 'uuidtools'
  #   bnode = RDF::Node.new(UUIDTools::UUID.random_create)
  #
  # @see http://github.com/assaf/uuid
  # @see http://uuidtools.rubyforge.org/
  class Node < Resource
    # @return [String]
    attr_accessor :id

    ##
    # @param  [#to_s] id
    def initialize(id = nil)
      @id = (id || object_id).to_s
    end

    ##
    # Returns `true`.
    #
    # @return [Boolean]
    def node?
      true
    end

    ##
    # Returns `true`.
    #
    # @return [Boolean]
    def anonymous?
      true
    end

    alias_method :unlabeled?, :anonymous?

    ##
    # Returns `false`.
    #
    # @return [Boolean]
    def labeled?
      !unlabeled?
    end

    ##
    # Returns a string representation of this blank node.
    #
    # @return [String]
    def to_s
      "_:%s" % id.to_s
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rdf-0.0.9 lib/rdf/model/node.rb
rdf-0.0.8 lib/rdf/model/node.rb
rdf-0.0.7 lib/rdf/model/node.rb
rdf-0.0.6 lib/rdf/node.rb