Hi Klaudia,

the problem is that the query would iterate over all graphs because the 
variable ?graph is not known. This is in general an inefficient query and 
also runs into the permission problems you mention.

This variation should work better:

SELECT ?graph ?uri ?ext
WHERE {
  () teamwork:readableGraphsUnderTeamControl (?graph ?teamGraph) .
  GRAPH ?graph {
    ?graph teamwork:externalGraphURI ?ext .
    ?graph swa:defaultNamespace ?uri .
    ?graph edg:subjectArea <urn:x-tb-governance:Locations_v2> .
  }
}

The magic property teamwork:readableGraphsUnterTeamControl will only bind 
?graph to those graphs that the current user can actually read and then 
doing GRAPH ?graph is safe.

HTH
Holger


On Monday, January 2, 2023 at 10:57:59 AM UTC [email protected] wrote:

> Hello,
> I only want to get a list of graphs with a specific subject area but with 
> the following query 
>
> SELECT ?graph ?uri ?ext
> WHERE {
>   GRAPH ?graph {
>     ?graph teamwork:externalGraphURI ?ext .
>     ?graph swa:defaultNamespace ?uri .
>     ?graph edg:subjectArea <urn:x-tb-governance:Locations_v2> .
>   }
> }
>
> all EDG graphs are checked, too. Therefore I get this access error:
> ... does not have read access for graph urn:x-tb:concurrentEDGUsers
>
> How can I ignore the internal EDG graphs in my query?
>
> Thanks in advance, Klaudia
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/3a910ae5-2af3-4ed0-b067-630a727753b5n%40googlegroups.com.

Reply via email to