Some properties can have multiple values for the same object. For example, one item has multiple values for the name property (item:name) in different languages.
Notice that when a Triple Pattern ends with the comma character (,) the next Triple Pattern implicitly has the same subject and predicate terms as the previous Triple Pattern. (If the number of object terms is small we are used to placing them on the same physical line, as in this query.)
The filter expression puts additional constraints on which results are returned: the two names must be different. Difference/non-identity is specified by the != operator.
Notice that use of != means that for every pair 〈A,B〉 the pair 〈B,A〉 is also included. Use the smaller than (<) or larger than (>) operator instead in order to exclude such symmetric name pairs in the result set.