Skip to content

"Number of results per named graph" is inaccurate #346

@tpluscode

Description

@tpluscode

Running v5.0.2 and oxigraph I observed two surprising behaviors when opening the default entity page.

I start oxigraph with the union-default-graph.
I have a single resource is one graph. 35 triples.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix hydra: <http://www.w3.org/ns/hydra/core#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix schema: <http://schema.org/> .

graph <https://trippin.lndo.site/shape/project> {
   <https://trippin.lndo.site/shape/project> a sh:NodeShape ;
	sh:property [
		sh:order 3 ;
		sh:name "Start date" ;
		sh:path doap:created ;
		sh:datatype xsd:date ;
	], [
		sh:order 4 ;
		sh:name "End date" ;
		sh:path doap:end ;
		sh:datatype xsd:date ;
	], [
		sh:order 2 ;
		sh:name "Project description" ;
		sh:path doap:description ;
		sh:datatype xsd:string ;
	], [
		sh:order 1 ;
		sh:name "Project name" ;
		sh:path doap:name ;
		sh:datatype xsd:string ;
		sh:minCount 1 ;
	], [
		sh:order 5 ;
		sh:name "Responsible person" ;
		sh:path schema:accountablePerson ;
		sh:class schema:Person ;
		sh:nodeKind sh:IRI ;
		sh:in (
			<http://example.com/Employee1>
			<http://example.com/Employee2>
		) ;
	] ;
	hydra:apiDocumentation <https://trippin.lndo.site/api> ;
	sh:targetClass doap:Project .
}

When I open https://trippin.lndo.site/shape/project, the "Number of results per named graph" table looks like this

Graph name Number of results
Default graph 8

I understand that this is the number of triples with that subject? I would also include the blank node subtree which is otherwise unreachable from other graphs, but alas.

The real question is, why is it saying "default graph"? Those triples are in a named graph.

If I remove ?union-default-graph from the endpoint, dereferencing <https://trippin.lndo.site/shape/project> returns 404. I suppose that too is expected. Is it possible to change the default resolver to return all triples from named graph same as requested URL?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions