Like a lot of people, I use rdf:Statement
s to reify triples so that I can make statements about statements, like
:S1 a rdf:Statement .
:S1 :citation :tabloid_celebrity1 .
:S1 rdf:subject :Earth .
:S1 rdf:predicate :has_shape .
:S1 rdf:object :flat_surface .
One of my favorite websites, https://www.infowebml.ws/rdf-owl/, says that the rdfs:range
of rdf:object
is rdfs:Resource
.
Are literals considered rdfs:Resource
s? If not, does that mean that property rdf:object
shouldn't take a literal as its object? I.e., is this illegal?
:S2 a rdf:Statement .
:S2 :citation <https://en.wikipedia.org/wiki/Age_of_the_Earth> .
:S2 rdf:subject :Earth .
:S2 rdf:predicate :has_age_years .
:S2 rdf:object "4.54E9"^^xsd:double .
Yes, rdfs:Literal
s are rdfs:Resource
s. Everything is an rdfs:Resource
. You are an rdfs:Resource
, section 5.3.4 of RDF Schema 1.1 is an rdfs:Resource
, the number of atoms in planet Earth is an rdfs:Resource
, complex numbers are rdfs:Resource
s, rdfs:Resource
is an rdfs:Resource
, and an xsd:double
like "4.54E9"^^xsd:double
is an rdfs:Resource
. More precisely rdfs:Resource
is the IRI of the rdfs:Class
that has everything as its instances.
Or, even more formally, everything in the universe is related to what rdfs:Resource
denotes in the extension (IEXT) of the resource denoted by rdf:type
.