Usign a simple example by , author of Semantic Web Programming, if we say that "everyone has a soul mate", in fact we are asserting that "for every person there is another person who is a 'soul mate' of the first." Here the potential soulmate is precisely the existential variable, which is not a concrete individual, but a template, a mold which outfits different individuals of the same type. The problem is that the existential variables, not being individual entities, do not actually have a name, at least not the same name as I, you, Piccadilly Circus and supermakets have.

In the construction of semantic ontologies we often make use of these existential variables, which are defined as 'blank nodes' (nodes empty) precisely because they do not have a name or a URI to mark it. They may have an identifier, which, however, applies and only operates strictly within the ontology we are working on. Outside of it no longer has any value.

In the RDF syntax a blank node node is a rdf: description element which is not assigned any rdf:about attribute nor even a URI. In each triple, a blank node can be a subject, an object, but not a relation/property. In the graphs it is represented as an empty oval and if it's used more than once in the same ontology it may be identified through a rdf:NodeID attribute. Nevertheless, such identification is strictly limited to the current ontology.

For example, to say that Paul and Mary both know the same person, we can say:

 
<Foaf: Person rdf: about = "http://example.org/Person#Paolo">
<Foaf: knows>
  <Foaf: Person rdf: NodeID = "MutualFriend" />
 </ Foaf: knows>
</ Foaf: Person>
<Foaf: Person rdf: about = "http://example.org/Person#Maria">
<Foaf: knows>
  <Foaf: Person rdf: NodeID = "MutualFriend" />
</ Foaf: knows>
</ Foaf: Person>
 
It must be emphasized that this 'MutualFriend' is not a URI or a literal and is merely conventional: if instead of 'MutualFriend' we had chosen 'B406' nothing would have changed. Through this statement we are simply saying that both Paolo and Maria know a not-better-identified individual 'B406'.
It must be stressed that, while useful, these blank node also give rise to a lot of problems. If an ontology has too many blank node, in fact, it becomes artificial, difficult to interpret and interrogate through SPARQL. Also, and this is perhaps the most serious problem, since the blank nodes have value only within a specific ontology, their presence makes it much harder, if not impossible, the merge between different ontologies.