diff -r 71c70bf482cf -r 5ab88d05083f web/views/rdf.py --- a/web/views/rdf.py Tue Oct 04 13:59:12 2011 +0200 +++ b/web/views/rdf.py Thu Oct 06 10:09:42 2011 +0200 @@ -89,15 +89,17 @@ except xy.UnsupportedVocabulary: pass else: - for related in entity.related(rtype, role, entities=True): - if role == 'subject': - add( (cwuri, CW[rtype], URIRef(related.cwuri)) ) - try: - for item in xy.xeq('%s %s' % (entity.e_schema.type, rtype)): - add( (cwuri, urijoin(item), URIRef(related.cwuri)) ) - except xy.UnsupportedVocabulary: - pass - else: - add( (URIRef(related.cwuri), CW[rtype], cwuri) ) + try: + for related in entity.related(rtype, role, entities=True, safe=True): + if role == 'subject': + add( (cwuri, CW[rtype], URIRef(related.cwuri)) ) + try: + for item in xy.xeq('%s %s' % (entity.e_schema.type, rtype)): + add( (cwuri, urijoin(item), URIRef(related.cwuri)) ) + except xy.UnsupportedVocabulary: + pass + else: + add( (URIRef(related.cwuri), CW[rtype], cwuri) ) + except Unauthorized: + pass -