On 20/05/2020 11:40, Rob Atkinson wrote:
This is a general challenge with EDG - and in the Semantic Web as a whole AFAICT

We have open world semantics, but in reality all operations are done over some graph closure. Systems make private, hidden, decisions about how to bound such graph closures. You absolutely need to understand the scope of a function or query before you can use it, and there are only hints scattered through documents as to what they may be. As a result I always dive into the code of every element to see what it does to avoid perplexing behaviours.

In this cases I believe the magic rules are:
For SPARQL queries an unbound variable in the GRAPH is interpreted as being within the scope of every graph accessible the the deployment - and by default (or always enforced) it either refuses to do this, or it throws error messages about it being slow.
The tops: function is (?) - perhaps the current graph's import closure?

other things work on the ui:graph, or the "current query graph" or the current project graph with or without imports etc.

IMHO the metamodel for functions ought to include standardised metadata about what graphs are included and what graphs may be modified - and the long undifferentiated lists of functions and SWP elements replaced with groupings according to the scope of the function.

All functions by default operate on the current imports closure. GRAPH always goes against all graphs in the dataset, and since that won't scale it is usually not a good choice, at least for now. There are a couple of "system-level" functions in our platform that do magic things that are otherwise impossible, such as looking in the sub-graphs of the current imports closure only like the tops function here.

Holger




On Tuesday, 19 May 2020 06:26:41 UTC+10, Tim Smith wrote:

    This is from the TBC Help page for SPARQL Property functions:

    SPARQL Property Functions

      * tops:statementDefinedIn

          o /Syntax:/ (?subject ?predicate ?object)
            tops:statementDefinedIn ?baseURI
          o /Description:/ Returns the defining ontology base URI for
            a given statement. The statement should exist in or be
            imported into the current graph.
          o /Example:/ If ?baseURI variable is bound as a literal or a
            uri node:

SELECT ?baseURI
            WHERE {
                (geotravel:Accommodation rdf:type 
owl:Class)tops:statementDefinedIn ?baseURI
            }
                        

            The above query returns the base URI of geotravel ontology.


    On Mon, May 18, 2020 at 2:33 PM lip vault <[email protected]
    <javascript:>> wrote:


        In a SPARQL query, is there a simple way to return the graph
        where a triple pattern is defined?  In topbraid hovering over
        a restriction statement will give one a blurb of information.
        One of the statements in the blurb is the specific rdf file
        where the restriction is defined.  Can you do something like
        this in SPARQL.
        I tried it and was hoping to have all the ?g IRIs returned,
        but it didn't work.


        SELECT DISTINCT ?s ?p ?g
        WHERE{
        ?s rdfs:subClassOf ?p .
        GRAPH ?g
        {
        ?p a owl:Restriction .
        ?p owl:onProperty propertyICareAbout .
        ?p owl:someValuesFrom classICareAbout .
        }
        }


        Thanks in advance, and any help appreciated.

-- 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] <javascript:>.
        To view this discussion on the web visit
        
https://groups.google.com/d/msgid/topbraid-users/8aa4b9d6-d2b0-467e-af85-0151e6cb6b50%40googlegroups.com
        
<https://groups.google.com/d/msgid/topbraid-users/8aa4b9d6-d2b0-467e-af85-0151e6cb6b50%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
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] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/c755b108-f0b3-4941-b29e-a0a0f51421eb%40googlegroups.com <https://groups.google.com/d/msgid/topbraid-users/c755b108-f0b3-4941-b29e-a0a0f51421eb%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
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/f8b46035-27e0-4521-cfa6-4f3fdc51a8fd%40topquadrant.com.

Reply via email to