@prefix fn: <http://www.w3.org/2006/xpath-functions#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix grddl: <http://www.w3.org/2003/g/data-view#>.
@prefix gspec: <http://www.w3.org/2004/01/rdxh/spec_rules#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix list: <http://www.w3.org/2000/10/swap/list#>.
@prefix x: <http://www.w3.org/2007/ont/xml#>.

{
(?N "/*") gspec:xpath ?E.
(?N """/*/@*[local-name()="transformation" and
    namespace-uri()=
    "http://www.w3.org/2003/g/data-view#"]""")
   gspec:xpath [ fn:string ?V].
?V fn:normalize-space ?Vnorm.
(?Vnorm "[ \t\r\n]+") fn:tokenize [
  list:member ?REF ].
?E fn:base-uri ?BASE.
(?REF ?BASE) fn:resolve-uri ?TXURI.
?TX log:uri ?TXURI.
} => {?N grddl:transformation ?TX.}.

{
?IR log:uri [ fn:doc ?R ].
?R grddl:transformation [ grddl:transformationProperty ?TP ].
?R ?TP ?G.
} => {
?IR grddl:result ?G .
}.

{
?IR grddl:result ?F, ?G.
(?F ?G) log:conjunction ?H.} => {
?IR grddl:result ?H.}.

{
?NSDOC log:uri ?NS;
   grddl:result [
     log:includes [
       rdf:subject ?NSDOC;
       rdf:predicate grddl:namespaceTransformation;
       rdf:object ?TX]].
?IR log:uri [ fn:doc ?NODE].
(?NODE "/*") gspec:xpath ?E.
?E fn:namespace-uri ?NS.
} => {
?NODE grddl:transformation ?TX.
}.

{
?IR log:uri [ fn:doc [ gspec:rdfParse ?G ] ].
} => {
?IR grddl:result ?G.
}.

{
?N gspec:profileName "http://www.w3.org/2003/g/data-view";
   gspec:linkElement [ gspec:linkType "transformation"; gspec:linkTarget ?TX ].
} => {?N grddl:transformation ?TX. }.

{
(?N
 """
*[local-name()="html" and
  namespace-name()="http://www.w3.org/1999/xhtml"] /
 *[local-name()="head" and
   namespace-name()="http://www.w3.org/1999/xhtml"]""")
 gspec:xpath ?E.
(?E "@profile") gspec:xpath [ fn:string ?V ].
?E fn:base-uri ?BASE.
?V fn:normalize-space ?Vnorm.
(?Vnorm "[ \t\r\n]+") fn:tokenize [  list:member ?P_REF ].
(?P_REF ?BASE) fn:resolve-uri ?PROFID.
} => {
?N gspec:profileName ?PROFID.
}.

{
(?N
""".//*[namespace-name()="http://www.w3.org/1999/xhtml" and
        (local-name() = "a"
         or local-name() = "link")"""
) gspec:xpath ?E.
(?E "@rel") gspec:xpath [ fn:string ?REL ].
(?E "@href") gspec:xpath [ fn:string ?T_REF ].
?E fn:base-uri ?BASE.
(?T_REF ?BASE) fn:resolve-uri ?TURI.
?T log:uri ?TURI.
} => {
?N gspec:linkElement ?E.
?E gspec:linkType ?REL; gspec:linkTarget ?T.
}.

{
?PDOC log:uri ?PNAME;
   grddl:result [
     log:includes [
       rdf:subject ?PDOC;
       rdf:predicate grddl:profileTransformation;
       rdf:object ?TX]].
?IR log:uri [ fn:doc ?NODE].
?NODE gspec:profileName ?PNAME.
} => {
?NODE grddl:transformation ?TX.
}.

{
?RDFXML gspec:rdfParse ?G.
(?TXNODE ?R) gspec:resultTree ?RDFXML.
?TXDOC grddl:transformationProperty ?TP;
  log:uri [fn:doc ?TXNODE].
} => {
?R ?TP ?G
}.

