-- duplicate input triples should not be returned
p_mkRdf_no_dupes :: RDF g => (g -> Triples) -> (Triples -> Maybe BaseUrl -> PrefixMappings -> g) -> Triples -> Maybe BaseUrl -> PrefixMappings -> Bool
p_mkRdf_no_dupes _triplesOf _mkRdf ts bUrl pms =
  case null ts of
    True  -> True
    False -> result == uordered ts
  where
    tsWithDupe = head ts : ts
    result = _triplesOf $ _mkRdf tsWithDupe bUrl pms

-- query with all 3 wildcards should yield all triples in graph
p_mkRdf_no_dupes :: RDF g => (g -> Triples) -> (Triples -> Maybe BaseUrl -> PrefixMappings -> g) -> Triples -> Maybe BaseUrl -> PrefixMappings -> Bool
p_mkRdf_no_dupes _triplesOf _mkRdf ts bUrl pms =
  case null ts of
    True  -> True
    False -> result == uordered ts
  where
    tsWithDupe = head ts : ts
    result = _triplesOf $ _mkRdf tsWithDupe bUrl pms

-- query with all 3 wildcards should yield all triples in graph
p_mkRdf_no_dupes _triplesOf _mkRdf ts bUrl pms =
  case null ts of
    True  -> True
    False -> result == uordered ts
  where
    tsWithDupe = head ts : ts
    result = _triplesOf $ _mkRdf tsWithDupe bUrl pms

-- query with all 3 wildcards should yield all triples in graph