The relations Channel:hasContactPoint and Channel:hasCost might look correct on first sight, but are not compatible with the definition of CPSV. CPSV defines foaf:homepage (range = "a Document") and cpsv:physicallyLocatedAt (range = dct:Location) as subtypes of cpsv:hasChannel. If we add the definitions from CPSV-AP, this poses problems:
Since homepages are defined as Channels by CPSV, this means that any homepage can get a ContactPoint. Although strange, one could argue that this makes sense. However, once multiple services are available from a single homepage, each having a different ContactPoint, it becomes impossible to link the service to its own contact point.
Once a single location is available for multiple services, it becomes impossible to identify the proper contactPoint. Two examples:
- The location used defines a building (rather than a specific counter) where multiple government agencies are located. Because each agency adds their own contactpoint information to their location (the shared building), the information gets mixed up.
- The location used defines a counter where multiple services are availble. Each of these services has the same location, but a different phone number or email. Once again, information gets mixed up.
Defining a cost on a homepage or location does not make sense, it is the service that has a cost.