Module: RDF::Term

Includes:
Comparable, Value
Included in:
Literal, Query::Variable, Resource
Defined in:
lib/rdf/model/term.rb

Overview

An RDF term.

Terms can be used as subjects, predicates, objects, and graph names of statements.

Since:

  • 0.3.0

Instance Method Summary collapse

Methods included from Value

#anonymous?, #canonicalize, #canonicalize!, #constant?, #graph?, #inspect, #inspect!, #invalid?, #iri?, #list?, #literal?, #node?, #resource?, #start_with?, #statement?, #to_nquads, #to_ntriples, #to_rdf, #type_error, #uri?, #valid?, #validate!, #variable?

Instance Method Details

#<=>(other) ⇒ Integer

This method is abstract.

Compares self to other for sorting purposes.

Subclasses should override this to provide a more meaningful implementation than the default which simply performs a string comparison based on #to_s.

Parameters:

  • other (Object)

Returns:

  • (Integer)

    -1, 0, or 1

Since:

  • 0.3.0



23
24
25
# File 'lib/rdf/model/term.rb', line 23

def <=>(other)
  self.to_s <=> other.to_s
end

#==(other) ⇒ Integer

This method is abstract.

Compares self to other to implement RDFterm-equal.

Subclasses should override this to provide a more meaningful implementation than the default which simply performs a string comparison based on #to_s.

Parameters:

  • other (Object)

Returns:

  • (Integer)

    -1, 0, or 1

See Also:

Since:

  • 0.3.0



39
40
41
# File 'lib/rdf/model/term.rb', line 39

def ==(other)
  super
end

#compatible?(other) ⇒ Boolean

Term compatibility according to SPARQL

Returns:

  • (Boolean)

See Also:

Since:

  • 2.0



88
89
90
# File 'lib/rdf/model/term.rb', line 88

def compatible?(other)
  false
end

#eql?(other) ⇒ Integer

This method is abstract.

Determins if self is the same term as other.

Subclasses should override this to provide a more meaningful implementation than the default which simply performs a string comparison based on #to_s.

Parameters:

  • other (Object)

Returns:

  • (Integer)

    -1, 0, or 1

See Also:

Since:

  • 0.3.0



55
56
57
# File 'lib/rdf/model/term.rb', line 55

def eql?(other)
  super
end

#escape(string) ⇒ String (protected)

Escape a term using escapes. This should be implemented as appropriate for the given type of term.

Parameters:

  • string (String)

Returns:

  • (String)

Raises:

  • (NotImplementedError)

Since:

  • 0.3.0



98
99
100
# File 'lib/rdf/model/term.rb', line 98

def escape(string)
  raise NotImplementedError, "#{self.class}#escape"
end

#term?Boolean

Returns true if self is a RDF::Term.

Returns:

  • (Boolean)

Since:

  • 0.3.0



63
64
65
# File 'lib/rdf/model/term.rb', line 63

def term?
  true
end

#to_baseSring

Returns the base representation of this term.

Returns:

  • (Sring)

Since:

  • 0.3.0



79
80
81
# File 'lib/rdf/model/term.rb', line 79

def to_base
  RDF::NTriples.serialize(self).freeze
end

#to_termRDF::Value

Returns itself.

Returns:

Since:

  • 0.3.0



71
72
73
# File 'lib/rdf/model/term.rb', line 71

def to_term
  self
end