IRIs, literals, blank nodes, and quoted triples are distinct and distinguishable. For example, http://example.org/ as a string literal is equal to neither http://example.org/ as an IRI ...
When I first read this, I looked up the definition of IRI, found "An IRI ... is a string" and thought this was a discriminated union where someone had forgotten to tag the components. In fact, I should have looked up the definition of literal and discovered that "http://example.org/ as a string literal" meant the pair ("http://example.org", "xsd:string"), which is clearly different from the IRI/string "http://example.org/".
I'd suggest updating this example with an indication that literals include their types, so something like
... For example, http://example.org/^^xsd:string as a literal is equal to neither http://example.org/ as an IRI ...
https://www.w3.org/TR/rdf12-concepts/#section-triples has
When I first read this, I looked up the definition of IRI, found "An IRI ... is a string" and thought this was a discriminated union where someone had forgotten to tag the components. In fact, I should have looked up the definition of literal and discovered that "http://example.org/ as a string literal" meant the pair ("http://example.org", "xsd:string"), which is clearly different from the IRI/string "http://example.org/".
I'd suggest updating this example with an indication that literals include their types, so something like