In ShEx, triple constraints can express choices — for example, to say that a person must be described either with foaf:name or with the combination foaf:givenName and foaf:familyName.
foaf:name
foaf:givenName
foaf:familyName