def extract_contributors(source): """ Extract the set of human contributors from a 'source' URI. This is used in making sure we haven't duplicated the same person's contribution of the same assertion. This has to happen during the combining step, not when extracting the ConceptNet edges in the first place, because the duplicate contributions may appear in different files. >>> extract_contributors('/s/contributor/omcs/dev') {'/s/contributor/omcs/dev'} >>> extract_contributors('/and/[/s/contributor/omcs/dev/,/s/activity/omcs1/]') {'/s/contributor/omcs/dev'} >>> extract_contributors('/s/robot/johnny5') set() """ if source.startswith('/s/contributor/'): return {source} elif source.startswith('/and/'): head, items = parse_compound_uri(source) return set(item for item in items if item.startswith('/s/contributor/')) else: return set()
def extract_contributors(source): if source.startswith('/s/contributor/'): return {source} elif source.startswith('/and/'): head, items = parse_compound_uri(source) return set(item for item in items if item.startswith('/s/contributor/')) else: return set()