Clarified the example structure.


On 17/10/2016 13.40 Uhr, Bardo Nelgen wrote:

Hi all,

I am running attached CONSTRUCT query on Fuseki 2.4.0on a littletest graph of about 2,200 triples.

But it takes around 16s to process an get the (desired…) result.

Is this caused by the query construct’s complexity or did I accidentally miss any unnecessary recursion or n-ary in that code ?

Actually tried to keep it as plain simple as possible for the test run.

And, as always, thanks for any hint.

Best,

Bardo


PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX 
xsd:<urn:ietf:params:xml:schema:>PREFIX dct:<http://purl.org/dc/terms/>PREFIX 
cel:<http://namespaces.semaworx.org/content#>PREFIX 
timed:<http://namespaces.semaworx.org/timed#>PREFIX 
sc:<http://schema.org/>PREFIX 
ive:<http://namespaces.semaworx.org/inventoryControl/>

CONSTRUCT{

?pageiri                
rdf:type                                cel:page;
cel:mail                                ?boolMail;
cel:webapp                              ?boolWebApp;
cel:i18nSlug                    ?slug;
dct:subject                             ?subject;
dct:title                               ?title;
dct:description                 ?description;
dct:modified                    ?date;
dct:creator                             ?creator;
dct:requires                    ?iriLink;
dct:hasPart                             ?element.

?iriLink
rdf:type                                cel:link;
dct:references                  ?linkTarget.
  
?element
rdf:type                                cel:element;
dct:identifier                  ?key18n;
cel:stringI18n                  ?lit18n.

?component              
rdf:type                                cel:component;
dct:identifier                  ?keyc18n;
cel:stringI18n                  ?litc18n.
}

WHERE{

BIND(str("urbanHOTBED")AS?skin).
BIND(str("start")AS?pagename).
BIND(str("home")AS?pagetype).
BIND(str("de-de")AS?language).
BIND(str("eu")AS?coverage).
BIND(IRI(CONCAT(str("http://resources.semaworx.eu/content/";),str(?skin),str("/pg/"),str(?pagename)))AS?pageiri).


?pageiri        
rdf:type                                cel:page;
dct:publisher                   ?skin;
timed:hasValidTimeEnd   ?End;
timed:hasValidTimeStart ?Start;
dct:hasVersion                  ?pageversion.

?pageversion 
dct:publisher                   ?skin;
dct:publisher                   ?skinloc;
cel:pageType                    ?pagetype;
cel:i18nSlug                    ?slug;
cel:mail                                ?boolMail;
cel:webapp                              ?boolWebApp;
dct:language                    ?language;
dct:coverage                    ?coverage;
dct:subject                             ?subject;
dct:title                               ?title;
dct:description                 ?description;
dct:modified                    ?date;
timed:hasValidTimeEnd   ?vEnd;
timed:hasValidTimeStart ?vStart;
dct:creator                             ?iriCreator;
dct:requires                    ?iriLink;
dct:hasPart                             ?element;
dct:relation                    ?component.

?iriCreator     sc:name ?creator.

?iriLink        
dct:references                  ?linkTarget;
dct:coverage                    ?coverage;
timed:hasValidTimeEnd   ?lValidEnd;
timed:hasValidTimeStart ?lValidStart.

?element
rdf:type                                cel:element;
dct:identifier                  ?eIdentifier;
cel:suitsPublisher              ?skin;
cel:suitsPagetype               ?pagetype;
timed:hasValidTimeEnd   ?eValidEnd;
timed:hasValidTimeStart ?eValidStart;
dct:hasVersion                  ?eVersion.

?eVersion
cel:stringI18n                  ?lit18n;
timed:hasValidTimeEnd   ?evValidEnd;
timed:hasValidTimeStart ?evValidStart.

?component
rdf:type                                cel:component;
dct:identifier                  ?keyc18n;
dct:hasVersion                  ?cVersion.

?cVersion
cel:stringI18n                  ?litc18n;
timed:hasValidTimeEnd   ?vcValidEnd;
timed:hasValidTimeStart ?vcValidStart.

FILTER( now()<?vcValidEnd&&?vcValidStart<now()  )

  
}

Attachment: result.rdf
Description: application/rdf

Reply via email to