Module: RDF::Value

Included in:
Graph, List, Statement, Term
Defined in:
lib/rdf/nquads.rb,
lib/rdf/ntriples.rb,
lib/rdf/model/value.rb

Overview

An RDF value.

This is the basis for the RDF.rb class hierarchy. Anything that can be a term of RDF statements should directly or indirectly include this module, but it does not define classes that can be included within a Statement, for this see Term.

Examples:

Checking if a value is a resource (blank node or URI reference)

value.resource?

Checking if a value is a blank node

value.node?

Checking if a value is a URI reference

value.uri?
value.iri?

Checking if a value is a literal

value.literal?

See Also:

Instance Method Summary collapse

Instance Method Details

#anonymous?Boolean

Is this value named?

Returns:

  • (Boolean)

    true or false



129
130
131
# File 'lib/rdf/model/value.rb', line 129

def anonymous?
  false
end

#canonicalizeRDF::Value

Returns a copy of this value converted into its canonical representation.

Returns:

Since:

  • 1.0.8



185
186
187
# File 'lib/rdf/model/value.rb', line 185

def canonicalize
  self.dup.canonicalize!
end

#canonicalize!RDF::Value

Converts this value into its canonical representation.

Should be overridden by concrete classes.

Returns:

Since:

  • 1.0.8



196
197
198
# File 'lib/rdf/model/value.rb', line 196

def canonicalize!
  self
end

#constant?Boolean

Is this constant, or are all of its components constant?

Same as !variable?

Returns:

  • (Boolean)

    true or false

See Also:



121
122
123
# File 'lib/rdf/model/value.rb', line 121

def constant?
  !(variable?)
end

#graph?Boolean

Returns true if self is a Graph.

Returns:

  • (Boolean)


35
36
37
# File 'lib/rdf/model/value.rb', line 35

def graph?
  false
end

#inspectString

Returns a developer-friendly representation of self.

The result will be of the format #<RDF::Value::0x12345678(...)>, where ... is the string returned by #to_s.

Returns:

  • (String)


223
224
225
# File 'lib/rdf/model/value.rb', line 223

def inspect
  sprintf("#<%s:%#0x(%s)>", self.class.name, __id__, to_s)
end

#inspect!

This method returns an undefined value.

Outputs a developer-friendly representation of self to stderr.



231
232
233
# File 'lib/rdf/model/value.rb', line 231

def inspect!
  warn(inspect)
end

#invalid?Boolean

Is this value invalid, or is it composed of any invalid components?

Returns:

  • (Boolean)

    true or false

Since:

  • 0.2.1



147
148
149
# File 'lib/rdf/model/value.rb', line 147

def invalid?
  !valid?
end

#iri?Boolean

Is this an IRI?

By default this is simply an alias for #uri?.

Returns:

  • (Boolean)


93
94
95
# File 'lib/rdf/model/value.rb', line 93

def iri?
  uri?
end

#list?Boolean

Is this a List?

Returns:

  • (Boolean)


51
52
53
# File 'lib/rdf/model/value.rb', line 51

def list?
  false
end

#literal?Boolean

Is this a Literal?

Returns:

  • (Boolean)


75
76
77
# File 'lib/rdf/model/value.rb', line 75

def literal?
  false
end

#node?Boolean

Is this a Node, or does it contain a node?

Returns:

  • (Boolean)


83
84
85
# File 'lib/rdf/model/value.rb', line 83

def node?
  false
end

#resource?Boolean

Is this a Resource?

Returns:

  • (Boolean)


67
68
69
# File 'lib/rdf/model/value.rb', line 67

def resource?
  false
end

#start_with?(string) ⇒ Boolean Also known as: starts_with?

Returns true if this Value starts with the given string.

Examples:

RDF::URI('http://example.org/').start_with?('http')     #=> true
RDF::Node('_:foo').start_with?('_:bar')                 #=> false
RDF::Litera('Apple').start_with?('Orange')              #=> false

Parameters:

  • string (String, #to_s)

Returns:

  • (Boolean)

    true or false

See Also:

  • String#start_with?

Since:

  • 0.3.0



174
175
176
# File 'lib/rdf/model/value.rb', line 174

def start_with?(string)
  to_s.start_with?(string.to_s)
end

#statement?Boolean

Is this a Statement?

Returns:

  • (Boolean)


43
44
45
# File 'lib/rdf/model/value.rb', line 43

def statement?
  false
end

#term?Boolean

Is this a Term?

Returns:

  • (Boolean)


59
60
61
# File 'lib/rdf/model/value.rb', line 59

def term?
  false
end

#to_nquadsString

Returns the N-Quads representation of this value.

This method is only available when the 'rdf/nquads' serializer has been explicitly required.

Returns:

  • (String)

Since:

  • 0.4.0



166
167
168
# File 'lib/rdf/nquads.rb', line 166

def to_nquads
  RDF::NQuads.serialize(self)
end

#to_ntriplesString

Returns the N-Triples representation of this value.

This method is only available when the 'rdf/ntriples' serializer has been explicitly required.

Returns:

  • (String)

Since:

  • 0.2.1



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

def to_ntriples
  RDF::NTriples.serialize(self)
end

#to_rdfRDF::Value

Returns an RDF::Value representation of self.

Returns:



204
205
206
# File 'lib/rdf/model/value.rb', line 204

def to_rdf
  self
end

#to_termRDF::Value

Returns an RDF::Term representation of self.

Returns:

Raises:

  • (NotImplementedError)


212
213
214
# File 'lib/rdf/model/value.rb', line 212

def to_term
  raise NotImplementedError, "#{self.class}#read_triple" # override in subclasses
end

#type_error(message) ⇒ false

Default implementation of type_error, which returns false. Classes including RDF::TypeCheck will raise TypeError instead.

Returns:

  • (false)


241
242
243
# File 'lib/rdf/model/value.rb', line 241

def type_error(message)
  false
end

#uri?Boolean

Is this an URI?

Returns:

  • (Boolean)


101
102
103
# File 'lib/rdf/model/value.rb', line 101

def uri?
  false
end

#valid?Boolean

Is this value valid, and composed only of valid components?

Returns:

  • (Boolean)

    true or false

Since:

  • 0.3.9



138
139
140
# File 'lib/rdf/model/value.rb', line 138

def valid?
  true
end

#validate!RDF::Value Also known as: validate

Default validate! implementation, overridden in concrete classes

Returns:

Raises:

  • (ArgumentError)

    if the value is invalid

Since:

  • 0.3.9



156
157
158
159
# File 'lib/rdf/model/value.rb', line 156

def validate!
  raise ArgumentError, "#{self.inspect} is not valid" if invalid?
  self
end

#variable?Boolean

Is this a Query::Variable, or does it contain a variable?

Returns:

  • (Boolean)

Since:

  • 0.1.7



110
111
112
# File 'lib/rdf/model/value.rb', line 110

def variable?
  false
end