When used CONSTRUCTin a sparql query, the output is a single RDF graph , as well as a set of triples, which are essentially new data, but in general, I thought that was CONSTRUCTa way to manually create a rule that theoretically should be reused.
In a usage example CONSTRUCT, let's say I wanted to define what was not yet in the data. Here is a good example taken from an article about CONSTRUCT .
@prefix : <http://some.site.com/ont
:jane :hasParent :gene .
:gene :hasParent :pat ;
:gender :female .
:joan :hasParent :pat ;
:gender :female .
:pat :gender :male .
:mike :hasParent :joan .
"The following CONSTRUCT statement creates new triples based on the above to indicate who the grandfather is:"
PREFIX : <http://some.site.com/ont
CONSTRUCT { ?p :hasGrandfather ?g . }
WHERE {?p :hasParent ?parent .
?parent :hasParent ?g .
?g :gender :male .
}
and the result:
@prefix : <http://some.site.com/ont
:jane :hasGrandfather :pat .
:mike :hasGrandfather :pat .
CONSTRUCT, , , / :hasGrandfather? RDF-, SQL?
, CONSTRUCT?