opengeospatial / ogc-geosparql

Public Repository for the OGC GeoSPARQL Standards Working Group
71 stars 19 forks source link

vocprez (OGCNA) defects: GeoSPARQL function parameters/results, namespaces, etc #467

Open VladimirAlexiev opened 6 months ago

VladimirAlexiev commented 6 months ago

(I guess this issue is not for this project because vocprez is maintained by OGCNA. But the repo https://github.com/opengeospatial/ogcna-auto-review is not appropriate. @nicholascar Can you dispatch this issue to the correct project?)

I'm trying to find RDF details about geof:buffer to make our own documentation more precise.

Look at http://defs.opengis.net/vocprez/object?uri=http://www.opengis.net/def/function/geosparql/buffer It shows expects and returns with 6 resources each image

But if you click you get nothing useful: image

Look at its Turtle representation:

# curl -L "http://www.opengis.net/def/function/geosparql/buffer?_profile=describe&_mediatype=text/turtle"
# curl -L "http://www.opengis.net/def/function/geosparql/buffer?_profile=concept&_mediatype=text/turtle"
@prefix dct: <http://purl.org/dc/terms/> .                                                        
@prefix ns1: <http://purl.org/dc/elements/1.1/> .                                                 
@prefix ns2: <https://w3id.org/function/ontology#> .                                              
@prefix ns3: <http://www.opengis.net/def/metamodel/ogc-na/> .                                     
@prefix ns4: <http://www.opengis.net/def/metamodel/> .                                            
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .                                           
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .                                            

<http://www.opengis.net/def/function/geosparql/buffer> a skos:Concept,                            
        <http://www.w3.org/ns/sparql-service-description#Function>,                               
        ns2:Function ;                                                                            
    ns1:contributor "Matthew Perry" ;                                                             
    ns1:creator "OGC GeoSPARQL 1.0 Standard Working Group" ;                                      
    ns1:date "2011-06-16" ;                                                                       
    ns1:source <http://www.opengis.net/doc/geosparql/1.0> ;                                       
    dct:contributor "Matthew Perry" ;                                                             
    dct:creator "OGC GeoSPARQL 1.0 Standard Working Group" ;                                      
    dct:date "2011-06-16" ;                                                                       
    dct:source <http://www.opengis.net/doc/geosparql/1.0>,                                        
        <http://www.opengis.net/doc/geosparql/1.1> ;                                              
    ns4:hasProfile <http://www.opengis.net/def/function/geosparql/buffer?_profile=conceptscheme> ;
    ns3:status <http://www.opengis.net/def/status/valid> ;                                        
    rdfs:isDefinedBy <http://www.opengis.net/spec/geosparql/1.0>,                                 
        <http://www.opengis.net/spec/geosparql/1.1/req/geometry-extension/query-functions> ;      
    rdfs:seeAlso <http://www.opengis.net/def/function/geosparql/buffer?_profile=alt>,             
        <http://www.opengis.net/doc/geosparql/1.0>,                                               
        <http://www.opengis.net/doc/geosparql/1.1> ;                                              
    skos:definition "A query function that returns a buffer around the input geometry."@en ;      
    skos:prefLabel "buffer"@en ;                                                                  
    ns2:expects "genid-eed889aaa1954fa2b870be3828954cce-438ADCDE6E57AE3D92ED3F1924DD80FA",        
        "genid-eed889aaa1954fa2b870be3828954cce-6D7CCAD90AA29CBFCDB39AE32CCC693C",                
        "genid-eed889aaa1954fa2b870be3828954cce-6E1827C425A59099B3A6FE689E1100DA",                
        "genid-eed889aaa1954fa2b870be3828954cce-9D72658F34B95E5CC6A24945846027CD",                
        "node1hbus11igx64",                                                                       
        "node1hbus11igx67" ;                                                                      
    ns2:returns "genid-eed889aaa1954fa2b870be3828954cce-65AFC23F41A6029DE52B3D9FB30C7AE0",        
        "genid-eed889aaa1954fa2b870be3828954cce-84AC0C0A16E8741261D0EA7462435BDA",                
        "genid-eed889aaa1954fa2b870be3828954cce-D21ADD7ADBE5B36CBF4237AFD3F0127A",                
        "genid-eed889aaa1954fa2b870be3828954cce-ED97CE739CBF2E2DF409E78338E67AAE",                
        "node1hbus11igx70",                                                                       
        "node1hbus11igx71" .                                                                      
situx commented 6 months ago

Hi @VladimirAlexiev

Vocprez is having trouble rendering linking these blank nodes correctly as it seems. You can find the original file for all functions that was used to generate the vocprez representation here: https://opengeospatial.github.io/ogc-geosparql/geosparql11/functions.ttl

We are still working on some issues with NA though, namely whether we should create a parameter registry for the function parameters for instance. The ns1 indeed seems like a duplicate, but it would seem it was added during NA processing as well.

VladimirAlexiev commented 6 months ago

Thanks @situx! Can you also answer bullets 2 and 3 from the original issue?

BTW:

ghobona commented 6 months ago

@VladimirAlexiev @situx The namespaces are not changed nor automatically generated at upload. However, the namespace prefixes are indeed automatically generated. This is necessary because of the size (more than 240k statements) of the triple store and the variety of models stored within it.

rob-metalinkage commented 6 months ago

We are waiting for some performance issues to be resolved on the UI update (VocPrez->Prez) - that will give us enough control to render more complex structures such as blank nodes adequately.

The other thing is that we must have labels in the "graph closure" - so we need an ontology with labels for "https://w3id.org/function/ontology#expects" etc.

At this point we are in the "T-box" of the knowledge graph, and required ontologies must be submitted along with the resources, and we will need to vet these for conflicts before uploading them to the knowledge graph to support better rendering.

The T-box is essentially the meta-model for standards and will control rendering options for resources. The meta-model is governed by the OGC-NA, managed with COSI team support. We havent yet formalised the process, but as more information models get published this will need to scale.