Am 12.05.20 um 14:38 schrieb mvdnheuv:
Now I just want to do a filtering based on these properties as suggested earlier in this forum: g_AT = GraphView(G, efilt=G.ep.company_country.a == 'AT')
But as mentioned in the docs for internal properties: "Internal graph property maps behave slightly differently. Instead of returning the property map object, the value itself is returned from the dictionaries"
Which I guess is why running G.ep.company_country.a gives me None, and running G.ep['company_country'][G.edges().next()] gives me 'AT'.
This has nothing to do with property maps being internal or not. It is not possible to obtain an array of a string-type property map (internal or not) because its storage is not contiguous in memory. This is true also for vector and python object types. I think be best alternative for you is to convert the strings to numeric codes that you store in a dictionary, so that you can do: g.ep.company_country_code.a == code["AT"] Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>