In the example below, the head element 'foo' defines the substitution group, of which element 'bar' is a member. This means that in the XML instance, 'bar' may be subsituted for 'foo'. Logically, any RDF statement of 'bar' implies a corresponding statement of 'foo'.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/" xmlns="http://example.org/" > <xs:element name="foo" type="xs:string" /> <xs:element name="bar" substitutionGroup="foo" type="xs:string" /> </xs:schema>
# Base: http://example.org/substitution1.owl @prefix ns1: <http://example.org/> . @prefix xs: <http://www.w3.org/2001/XMLSchema> . @prefix ns2: <http://example.org/def/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix daml: <http://www.daml.org/2001/03/daml+oil#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xs_: <http://www.w3.org/2001/XMLSchema#> . @prefix : <#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . ns1:bar a owl:DatatypeProperty , rdf:Property ; rdfs:range xs_:string ; rdfs:subPropertyOf ns1:foo . ns1:foo a owl:DatatypeProperty , rdf:Property ; rdfs:range xs_:string . <> a owl:Ontology .