@prefix : <,test_block1#>.
@keywords is, of, a.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix s: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix fn: <http://www.w3.org/2006/xpath-functions#>.

@prefix earl: <http://www.w3.org/ns/earl#>.

@prefix list: <http://www.w3.org/2000/10/swap/list#>.
@prefix str: <http://www.w3.org/2000/10/swap/string#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.

earl:validity s:subPropertyOf earl:outcome.
{ ?S [ s:subPropertyOf ?P ] ?O } => { ?S ?P ?O }.

{ ?TEST is earl:test of
   [ earl:result [ earl:outcome earl:pass]; earl:subject ?SOFTWARE1],
   [ earl:result [ earl:outcome earl:pass]; earl:subject ?SOFTWARE2].
  ?SOFTWARE1 log:notEqualTo ?SOFTWARE2.
} => { ?TEST a InteroperableTest }.

{ ?P a Proposal; fragList ?L }
 => { ?P partcheck (1 ?L) }.

{ ?P partcheck (1 [ rdf:first ?FRAG; rdf:rest ?L ]).
  ("http://www.w3.org/2001/sw/grddl-wg/td/grddl-tests" ?FRAG)
   str:concatenation [ is log:uri of ?T].
  ?T a InteroperableTest.
 }
 => { ?P partcheck (?T ?L) }.

{ ?P partcheck ([] ()) } 
 => { ?P a SecondedProposal }.


{ ?P a Proposal; textList [ fn:normalize-space ?TXT].
  (?TXT " ") fn:tokenize ?FRAGS }
 => { ?P fragList ?FRAGS }.

block1 a Proposal; textList """
#sq1
#hcard1
#loop
#langconneg1
#langconneg2

#langconneg3
#xhtmlWithGrddlEnabledProfile
#xhtmlWithGrddlEnabledProfileAndADisabledInBodyTransform
#xhtmlWithGrddlEnabledProfileAndInBodyTransform
#xhtmlWithMoreThanOneGrddlTransformation

#xhtmlWithMoreThanOneProfile
#card5n
#card5na
#embedded-rdf1
#embedded-rdf2

#embedded-rdf3
#glean-profile
#spaces-in-rel
#grddlonrdf
#hcard

#hcarda
#html-and-transformation-attr
#multipleRepresentations
#multipleRepresentations2
#multipleRepresentations3
""".


block2 a Proposal; textList """
#embedded-rdf10
#embedded-rdf4
#embedded-rdf5
#embedded-rdf6
#embedded-rdf8
#embedded-rdf9
""".


