Added test cases for type constraints
authorT Dong Huynh <tdh@ecs.soton.ac.uk>
Tue, 27 Nov 2012 13:45:46 +0000
changeset 5174 20f3b8fddd25
parent 5171 ebb15ae4ec2c
child 5175 3c467b8e9885
Added test cases for type constraints
testcases/constraints/test.provn
testcases/constraints/type-collection-FAIL-c56.provn
testcases/constraints/type-collection-FAIL-c56.provx
testcases/constraints/type-f1-FAIL-c55.provn
testcases/constraints/type-f1-FAIL-c55.provx
testcases/constraints/type-f1-FAIL-c55.ttl
testcases/constraints/type-f2-FAIL-c55.provn
testcases/constraints/type-f2-FAIL-c55.provx
testcases/constraints/type-f2-FAIL-c55.ttl
testcases/constraints/type-f3-FAIL-c54.provn
testcases/constraints/type-f3-FAIL-c54.provx
testcases/constraints/type-f3-FAIL-c54.ttl
testcases/constraints/type-f4-FAIL-c53.provn
testcases/constraints/type-f4-FAIL-c53.provx
testcases/constraints/type-s1-PASS.provn
testcases/constraints/type-s1-PASS.provx
testcases/constraints/type-s1-PASS.ttl
testcases/constraints/type-s2-PASS.provn
testcases/constraints/type-s2-PASS.provx
testcases/constraints/type-s2-PASS.ttl
testcases/constraints/type-s3-PASS.provn
testcases/constraints/type-s3-PASS.provx
testcases/constraints/type-s3-PASS.ttl
testcases/process.html
--- a/testcases/constraints/test.provn	Tue Nov 27 11:54:24 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-bundle
-prefix xsd <http://www.w3.org/2001/XMLSchema>
-prefix prim <http://openprovenance.org/primitives#>
-prefix prov <http://www.w3.org/ns/prov#>
-prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
-prefix pc1 <http://www.ipaw.info/pc1/>
-prefix  <http://example.org/#>
-activity(:publicationActivity1123,2011-07-16T01:01:01Z,2011-07-16T01:52:02Z)
-agent(:postEditor,[foaf:name = "Post Editor 3000" %% xsd:string])
-agent(:derek,[foaf:givenName = "Derek" %% xsd:string, foaf:mbox = "mailto:[email protected]" %% xsd:anyURI])
-agent(:government)
-agent(:national_newspaper_inc,[foaf:name = "National Newspaper, Inc." %% xsd:string])
-entity(:post9821v2,[prov:location="[email protected][
-  ref={http://example.org/#}more-crime-happens-in-cities
-]" %% prov:unknownLiteral, my:snapshotContent = "http://example.org/#postContent1" %% xsd:anyURI])
-entity(:post9821v1,[prov:location="[email protected][
-  ref={http://example.org/#}more-crime-happens-in-cities
-]" %% prov:unknownLiteral, my:snapshotContent = "http://example.org/#postContent0" %% xsd:anyURI, sioc:title = "More crime happens in cities" %% xsd:string])
-entity(:aggregatedByRegions,[prov:location="[email protected][
-  ref={file://Users/}aggr.txt
-]" %% prov:unknownLiteral])
-entity(:more-crime-happens-in-cities,[sioc:latest_version = "http://example.org/#post9821v2" %% xsd:anyURI, sioc:previous_version = "http://example.org/#post9821v1" %% xsd:anyURI])
-entity(:crimeData)
-entity(:prov-o-ex2-PASS,[ex:involvedUser = "http://example.org/#derek" %% xsd:anyURI])
-alternateOf(:post9821v2,:post9821v1)
-wasAttributedTo(:post9821v2, :derek)
-wasGeneratedBy(:post9821v1,:publicationActivity1123,-)
-wasAttributedTo(:post9821v1, :derek)
-wasAssociatedWith(:publicationActivity1123,:derek,-)
-wasAssociatedWith(:publicationActivity1123,:postEditor,-)
-used(:publicationActivity1123,:aggregatedByRegions,-)
-wasGeneratedBy(:post9821v1,:publicationActivity1123,-)
-wasStartedBy(:publicationActivity1123,:derek,-,-)
-wasEndedBy(:publicationActivity1123,:derek,-,-)
-actedOnBehalfOf(:derek,:national_newspaper_inc,-)
-wasAttributedTo(:crimeData, :government)
-wasAttributedTo(:prov-o-ex2-PASS, :postEditor)
-endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-collection-FAIL-c56.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,11 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1)
+entity(ex:e2,[prov:type='prov:EmptyCollection'])
+hadMember(ex:e2,ex:e1)
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-collection-FAIL-c56.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        <prov:entity prov:id="ex:e1">
+        </prov:entity>
+        <prov:entity prov:id="ex:e2">
+	  <prov:type xsi:type="xsd:QName">prov:EmptyCollection</prov:type>
+        </prov:entity>
+
+        <prov:hadMember>
+          <prov:collection prov:ref="ex:e2"/>
+          <prov:entity prov:ref="ex:e1"/>
+        </prov:hadMember>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f1-FAIL-c55.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,10 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1'])
+activity(ex:e1,-,-,[prov:type='ex:test2'])
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f1-FAIL-c55.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+        </prov:entity>
+
+
+        <prov:activity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+        </prov:activity>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f1-FAIL-c55.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,12 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName ;
+	a prov:Activity ;
+	prov:type "ex:test2"^^xsd:QName .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f2-FAIL-c55.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,11 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1'])
+entity(ex:e2,[prov:type='ex:test2'])
+wasGeneratedBy(ex:gen1;ex:e1,ex:e2,-)
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f2-FAIL-c55.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+        </prov:entity>
+
+        <prov:entity prov:id="ex:e2">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+        </prov:entity>
+
+
+        <prov:wasGeneratedBy prov:id="ex:gen1">
+          <prov:entity prov:ref="ex:e1"/>
+          <prov:activity prov:ref="ex:e2"/>  <!-- e2 inferred to be activity -->
+        </prov:wasGeneratedBy>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f2-FAIL-c55.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,19 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName .
+
+ex:e2 a prov:Entity ;
+	prov:type "ex:test2"^^xsd:QName ;
+	a prov:Activity .
+
+ex:gen1 a prov:Generation ;
+	prov:activity ex:e2 .
+
+ex:e1 prov:qualifiedGeneration ex:gen1 .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f3-FAIL-c54.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,11 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1'])
+entity(ex:e2,[prov:type='ex:test2'])
+wasGeneratedBy(ex:e1;ex:e3,ex:a4,-)
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f3-FAIL-c54.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+        </prov:entity>
+
+        <prov:entity prov:id="ex:e2">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+        </prov:entity>
+
+
+        <prov:wasGeneratedBy prov:id="ex:e1"> <!-- overlap entity -->
+          <prov:entity prov:ref="ex:e3"/>
+          <prov:activity prov:ref="ex:a4"/>
+        </prov:wasGeneratedBy>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f3-FAIL-c54.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,22 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName .
+
+ex:e2 a prov:Entity ;
+	prov:type "ex:test2"^^xsd:QName .
+
+ex:e3 a prov:Entity .
+
+ex:a4 a prov:Activity .
+
+ex:e1 a prov:Generation ;
+	prov:activity ex:a4 .
+
+ex:e3 prov:qualifiedGeneration ex:e1 .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f4-FAIL-c53.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,10 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+wasGeneratedBy(ex:gen;ex:e3,ex:a4,-)
+used(ex:gen;ex:a4,ex:e5,-)
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-f4-FAIL-c53.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+        <prov:wasGeneratedBy prov:id="ex:gen"> <!-- overlap usage -->
+          <prov:entity prov:ref="ex:e3"/>
+          <prov:activity prov:ref="ex:a4"/>
+        </prov:wasGeneratedBy>
+
+        <prov:used prov:id="ex:gen"> <!-- overlap usage -->
+          <prov:activity prov:ref="ex:a4"/>
+          <prov:entity prov:ref="ex:e5"/>
+        </prov:used>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s1-PASS.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,10 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1'])
+activity(ex:a1,-,-,[prov:type='ex:test2'])
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s1-PASS.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+        </prov:entity>
+
+
+        <prov:activity prov:id="ex:a1">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+        </prov:activity>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s1-PASS.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,13 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName .
+
+ex:a1 a prov:Activity ;
+	prov:type "ex:test2"^^xsd:QName .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s2-PASS.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,10 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1', prov:type='prov:Bundle'])
+agent(ex:e1,[prov:type='ex:test2', prov:type='prov:SoftwareAgent', prov:type="http://www.w3.org/ns/prov#Person" %% xsd:anyURI, prov:type="http://openprovenance.org/validation/type/Organization" %% xsd:anyURI, prov:type="prov:Activity" %% xsd:string])
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s2-PASS.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+	  <prov:type xsi:type="xsd:QName">prov:Bundle</prov:type>
+        </prov:entity>
+
+
+        <prov:agent prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+	  <prov:type xsi:type="xsd:QName">prov:SoftwareAgent</prov:type>
+	  <prov:type xsi:type="xsd:anyURI">http://www.w3.org/ns/prov#Person</prov:type>
+	  <prov:type xsi:type="xsd:anyURI">http://openprovenance.org/validation/type/Organization</prov:type>  <!-- will be renamed and ignored -->
+	  <prov:type xsi:type="xsd:string">prov:Activity</prov:type>  <!-- not a type we consider -->
+        </prov:agent>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s2-PASS.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,12 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName , "prov:Bundle"^^xsd:QName ;
+	a prov:Agent ;
+	prov:type "ex:test2"^^xsd:QName , "prov:SoftwareAgent"^^xsd:QName , "http://www.w3.org/ns/prov#Person"^^xsd:anyURI , "http://openprovenance.org/validation/type/Organization"^^xsd:anyURI , "prov:Activity"^^xsd:string .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s3-PASS.provn	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,11 @@
+bundle
+prefix xsd <http://www.w3.org/2001/XMLSchema>
+prefix prim <http://openprovenance.org/primitives#>
+prefix ex <http://example.org/>
+prefix prov <http://www.w3.org/ns/prov#>
+prefix xsi <http://www.w3.org/2001/XMLSchema-instance>
+prefix pc1 <http://www.ipaw.info/pc1/>
+entity(ex:e1,[prov:type='ex:test1'])
+entity(ex:e2,[prov:type='ex:test2'])
+specializationOf(ex:e2,ex:e1)
+endBundle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s3-PASS.provx	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:prim="http://openprovenance.org/primitives#" xmlns:ex="http://example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        <prov:entity prov:id="ex:e1">
+	  <prov:type xsi:type="xsd:QName">ex:test1</prov:type>
+        </prov:entity>
+
+
+        <prov:entity prov:id="ex:e2">
+	  <prov:type xsi:type="xsd:QName">ex:test2</prov:type>
+        </prov:entity>
+
+	<prov:specializationOf>
+          <prov:specializedEntity prov:ref="ex:e2"/>
+          <prov:generalEntity prov:ref="ex:e1"/>
+        </prov:specializationOf>
+
+</prov:document>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testcases/constraints/type-s3-PASS.ttl	Tue Nov 27 13:45:46 2012 +0000
@@ -0,0 +1,14 @@
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] prim: <http://openprovenance.org/primitives#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] ex: <http://example.org/> .
[email protected] xsi: <http://www.w3.org/2001/XMLSchema-instance> .
[email protected] pc1: <http://www.ipaw.info/pc1/> .
+
+
+ex:e1 a prov:Entity ;
+	prov:type "ex:test1"^^xsd:QName .
+
+ex:e2 a prov:Entity ;
+	prov:type "ex:test2"^^xsd:QName ;
+	prov:specializationOf ex:e1 .
--- a/testcases/process.html	Tue Nov 27 11:54:24 2012 +0000
+++ b/testcases/process.html	Tue Nov 27 13:45:46 2012 +0000
@@ -231,15 +231,15 @@
 in either of the files.</p>
 
 <p>For example, if a validator can <strong>only</strong> process the three test cases
-<b>derivation1-PASS</b>, <b>derivation2-FAIL-ordering</b>, and <b>derivation3-PASS</b>, we
+<b>ordering-derivation1-PASS</b>, <b>ordering-derivation2-FAIL-c42</b>, and <b>ordering-derivation3-PASS</b>, we
 expect the result files's contents to be similar to the below.</p>
 <pre class="example">
 pass.txt:
-	derivation1-PASS
-	derivation3-PASS
+	ordering-derivation1-PASS
+	ordering-derivation3-PASS
 	
 fail.txt:
-	derivation2-FAIL-ordering
+	ordering-derivation2-FAIL-c42
 </pre>
 
 
@@ -519,7 +519,99 @@
       <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/ordering-starts1-PASS.provx" title="ordering-starts1-PASS.provx">PROV-XML</a>
       <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/ordering-starts1-PASS.ttl" title="ordering-starts1-PASS.ttl">PROV-RDF</a>
     </td>
+  </tr>
+  <tr>
+    <td><b>type-collection-FAIL-c56</b></td>
+    <td>
+	  <a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/CR-prov-constraints-20121211/Overview.html#membership-empty-collection">Constraint 56 (membership-empty-collection)</a>
+	</td>
+    <td>FAIL</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-collection-FAIL-c56.provn" title="type-collection-FAIL-c56.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-collection-FAIL-c56.provx" title="type-collection-FAIL-c56.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-collection-FAIL-c56.ttl" title="type-collection-FAIL-c56.ttl">PROV-RDF</a>
+    </td>
   </tr> 
+  <tr>
+    <td><b>type-f1-FAIL-c55</b></td>
+    <td>
+	  <a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/CR-prov-constraints-20121211/Overview.html#entity-activity-disjoint">Constraint 55 (entity-activity-disjoint)</a>
+	</td>
+	<td>FAIL</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f1-FAIL-c55.provn" title="type-f1-FAIL-c55.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f1-FAIL-c55.provx" title="type-f1-FAIL-c55.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f1-FAIL-c55.ttl" title="type-f1-FAIL-c55.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-f2-FAIL-c55</b></td>
+    <td>
+	  <a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/CR-prov-constraints-20121211/Overview.html#entity-activity-disjoint">Constraint 55 (entity-activity-disjoint)</a>
+	</td>
+    <td>FAIL</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f2-FAIL-c55.provn" title="type-f2-FAIL-c55.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f2-FAIL-c55.provx" title="type-f2-FAIL-c55.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f2-FAIL-c55.ttl" title="type-f2-FAIL-c55.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-f3-FAIL-c54</b></td>
+    <td>
+	  <a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/CR-prov-constraints-20121211/Overview.html#impossible-object-property-overlap">Constraint 54 (impossible-object-property-overlap)</a>
+	</td>
+    <td>FAIL</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f3-FAIL-c54.provn" title="type-f3-FAIL-c54.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f3-FAIL-c54.provx" title="type-f3-FAIL-c54.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f3-FAIL-c54.ttl" title="type-f3-FAIL-c54.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-f4-FAIL-c53</b></td>
+    <td>
+	  <a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/CR-prov-constraints-20121211/Overview.html#impossible-property-overlap">Constraint 53 (impossible-property-overlap)</a>
+	</td>
+    <td>FAIL</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f4-FAIL-c53.provn" title="type-f4-FAIL-c53.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f4-FAIL-c53.provx" title="type-f4-FAIL-c53.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-f4-FAIL-c53.ttl" title="type-f4-FAIL-c53.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-s1-PASS</b></td>
+    <td>&nbsp;</td>
+    <td>PASS</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s1-PASS.provn" title="type-s1-PASS.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s1-PASS.provx" title="type-s1-PASS.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s1-PASS.ttl" title="type-s1-PASS.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-s2-PASS</b></td>
+    <td>&nbsp;</td>
+    <td>PASS</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s2-PASS.provn" title="type-s2-PASS.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s2-PASS.provx" title="type-s2-PASS.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s2-PASS.ttl" title="type-s2-PASS.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+  <tr>
+    <td><b>type-s3-PASS</b></td>
+    <td>&nbsp;</td>
+    <td>PASS</td>
+    <td>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s3-PASS.provn" title="type-s3-PASS.provn">PROV-N</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s3-PASS.provx" title="type-s3-PASS.provx">PROV-XML</a>
+      <a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/constraints/type-s3-PASS.ttl" title="type-s3-PASS.ttl">PROV-RDF</a>
+    </td>
+  </tr> 
+
+
 
   <tr>
     <td><b>w3c-publication1-PASS</b></td>