#!../../src/xotclsh # $Id: xoRDF.test,v 1.5 2007/08/14 16:38:27 neumann Exp $ # package require XOTcl 1; namespace import -force xotcl::* lappend auto_path [file dir [info script]]/.. #package require xotcl::test #package require package;package verbose 1 package require xotcl::rdf::parser package require xotcl::rdf::recreatorVisitor package require xotcl::rdf::triple proc errorCheck {expected result msg} { set expected [string trim $expected \n] set result [string trim $result \n] foreach e [split $expected \n] r [split $result \n] { set e [string trim $e] set r [string trim $r] if {$e != $r} { puts stderr "FAILED: $msg\nGot: '$r'\nExpected: '$e'" puts stderr "Full Result:\n$result" puts stderr "RAW Triples:" foreach t [lsort [tripleVisitor::db getTriples]] { puts -nonewline stderr [$t dump] } exit -1 return } } } Class TestVisitor -superclass NodeTreeVisitor TestVisitor instproc visit objName { my append result [string trim [$objName print]] \n } TestVisitor instproc interpretNodeTree {node} { my set result "" $node accept [self] return [my set result] } TestVisitor testVisitor RDFRecreatorVisitor reVisitor TripleVisitor tripleVisitor tripleVisitor proc interpret {parser topNode {asBag 1}} { set result "" my descriptionAsBag $asBag my reset my interpretNodeTree $topNode return [[self]::db prettyTriples] # foreach t [lsort [[self]::db getTriples]] { # append result [string trim [$t dump]]\n # } # return $result } RDFParser rp rp proc time {cmd time} { upvar $time ms regexp {^(-?[0-9]+) } [::time {set r [eval $cmd]}] _ ms return $r } rp proc test {name text nodeResult tripleResult {descriptionAsBagResult ""}} { my reset foreach time {nodeTime recreateTime tripleTime} { if {![my exists $time]} {my set $time 0} } my parse $text set r [rp time [list testVisitor interpretNodeTree [self]::topNode1] ct] regsub -all "[self]::topNode1" $r "" r ::errorCheck $nodeResult $r "RDF Node Creation: $name" #set r [time [list reVisitor interpretNodeTree [self]::topNode1] rt] #::errorCheck $recreateResult $r "RDF Recreation: $name" set r [rp time [list tripleVisitor interpret rp [self]::topNode1 0] tt] ::errorCheck $tripleResult $r "RDF Triples: $name" if {$descriptionAsBagResult != ""} { set r [tripleVisitor interpret rp [self]::topNode1 1] ::errorCheck $descriptionAsBagResult $r "RDF Triples -- Description as Bag: $name" } # test recreation by recreating XML text and by parsing # and testing it again set recreatedText [rp time [list reVisitor interpretNodeTree [self]::topNode1] rt] [self]::topNode1 destroy my reset my parse $recreatedText #puts "RECREATED: \n$recreatedText" # test recreated node tree set r [testVisitor interpretNodeTree [self]::topNode1] regsub -all "[self]::topNode1" $r "" r ::errorCheck $nodeResult $r "RDF Node Recreation: $name" set r [tripleVisitor interpret rp [self]::topNode1 0] ::errorCheck $tripleResult $r "RDF Triple Recreation: $name" my incr nodeTime $ct my incr recreateTime $rt my incr tripleTime $tt puts "PASSED: $name ($ct + $rt + $tt)" } ############################################################################## rp test "Namespace" { xyz dfg } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- Description ATTR: ID = nsd ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:ABC PCDATA: xyz ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- fromXYZ PCDATA: dfg } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator nsd nsd http://description.org/schema/ABC xyz nsd http://xyz.com/fromXYZ dfg } ############################################################################## rp test descriptionNestedNS { Ora Lassila } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator PCDATA: Ora Lassila } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator Ora Lassila } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator Ora Lassila =================== unreferenced: rdfdoc#id1 #type #Bag rdfdoc#id1 #_1 rdfdoc#id2 rdfdoc#id2 #predicate http://description.org/schema/Creator rdfdoc#id2 #subject http://www.w3.org/Home/Lassila rdfdoc#id2 #object Ora Lassila rdfdoc#id2 #type #Statement } ############################################################################## rp test NSDescription { Ora Lassila } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator PCDATA: Ora Lassila } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator Ora Lassila } ############################################################################## rp test PropertyAttr { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator PCDATA: Ora Lassila } { http://www.w3.org/Home/Lassila s:Creator Ora Lassila } ############################################################################## rp test properties { World Wide Web Consortium W3C Home Page 1998-10-03T02:27 } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Publisher PCDATA: World Wide Web Consortium ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- s:Title PCDATA: W3C Home Page ::xotcl::rdf::parser::RDFProperty-::res1::prop3 --- s:Date PCDATA: 1998-10-03T02:27 } { http://www.w3.org s:Publisher World Wide Web Consortium http://www.w3.org s:Title W3C Home Page http://www.w3.org s:Date 1998-10-03T02:27 } ############################################################################## rp test propertyAttr2 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Publisher PCDATA: World Wide Web Consortium ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- s:Title PCDATA: W3C Home Page ::xotcl::rdf::parser::RDFProperty-::res1::prop3 --- s:Date PCDATA: 1998-10-03T02:27 } { http://www.w3.org s:Publisher World Wide Web Consortium http://www.w3.org s:Title W3C Home Page http://www.w3.org s:Date 1998-10-03T02:27 } ############################################################################## rp test bag1 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://mycollege.edu/courses/6.001 ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:students ::xotcl::rdf::parser::RDFBag-::res1::prop1::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = http://mycollege.edu/students/Amy MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = http://mycollege.edu/students/Tim MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop3 --- rdf:li ATTR: resource = http://mycollege.edu/students/John MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop4 --- rdf:li ATTR: resource = http://mycollege.edu/students/Mary MEMBER-INDEX: rdf:_4 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop5 --- rdf:li ATTR: resource = http://mycollege.edu/students/Sue MEMBER-INDEX: rdf:_5 } { http://mycollege.edu/courses/6.001 s:students rdfdoc#id2 rdfdoc#id2 #type #Bag rdfdoc#id2 #_1 http://mycollege.edu/students/Amy rdfdoc#id2 #_2 http://mycollege.edu/students/Tim rdfdoc#id2 #_3 http://mycollege.edu/students/John rdfdoc#id2 #_4 http://mycollege.edu/students/Mary rdfdoc#id2 #_5 http://mycollege.edu/students/Sue } ############################################################################## rp test bagGivenAsType1 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://mycollege.edu/courses/6.001 ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:students ::xotcl::rdf::parser::RDFBag-::res1::prop1::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = http://mycollege.edu/students/Amy MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = http://mycollege.edu/students/Tim MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop3 --- rdf:li ATTR: resource = http://mycollege.edu/students/John MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop4 --- rdf:li ATTR: resource = http://mycollege.edu/students/Mary MEMBER-INDEX: rdf:_4 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop5 --- rdf:li ATTR: resource = http://mycollege.edu/students/Sue MEMBER-INDEX: rdf:_5 } { http://mycollege.edu/courses/6.001 s:students rdfdoc#id2 rdfdoc#id2 #type #Bag rdfdoc#id2 #_1 http://mycollege.edu/students/Amy rdfdoc#id2 #_2 http://mycollege.edu/students/Tim rdfdoc#id2 #_3 http://mycollege.edu/students/John rdfdoc#id2 #_4 http://mycollege.edu/students/Mary rdfdoc#id2 #_5 http://mycollege.edu/students/Sue } ############################################################################## rp test bagGivenAsType2 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://mycollege.edu/courses/6.001 ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:students ::xotcl::rdf::parser::RDFBag-::res1::prop1::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = http://mycollege.edu/students/Amy MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = http://mycollege.edu/students/Tim MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop3 --- rdf:li ATTR: resource = http://mycollege.edu/students/John MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop4 --- rdf:li ATTR: resource = http://mycollege.edu/students/Mary MEMBER-INDEX: rdf:_4 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop5 --- rdf:li ATTR: resource = http://mycollege.edu/students/Sue MEMBER-INDEX: rdf:_5 } { http://mycollege.edu/courses/6.001 s:students rdfdoc#id2 rdfdoc#id2 #type #Bag rdfdoc#id2 #_1 http://mycollege.edu/students/Amy rdfdoc#id2 #_2 http://mycollege.edu/students/Tim rdfdoc#id2 #_3 http://mycollege.edu/students/John rdfdoc#id2 #_4 http://mycollege.edu/students/Mary rdfdoc#id2 #_5 http://mycollege.edu/students/Sue } ############################################################################## rp test bagAndAltGivenAsType { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://mycollege.edu/courses/6.001 ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:students ::xotcl::rdf::parser::RDFAlt-::res1::prop1::res1 --- rdf:Alt TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = http://mycollege.edu/students/Amy MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = http://mycollege.edu/students/Tim MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop3 --- rdf:li ATTR: resource = http://mycollege.edu/students/John MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop4 --- rdf:li ATTR: resource = http://mycollege.edu/students/Mary MEMBER-INDEX: rdf:_4 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop5 --- rdf:li ATTR: resource = http://mycollege.edu/students/Sue MEMBER-INDEX: rdf:_5 } { http://mycollege.edu/courses/6.001 s:students rdfdoc#id2 rdfdoc#id2 #type #Alt rdfdoc#id2 #type #Bag rdfdoc#id2 #_1 http://mycollege.edu/students/Amy rdfdoc#id2 #_2 http://mycollege.edu/students/Tim rdfdoc#id2 #_3 http://mycollege.edu/students/John rdfdoc#id2 #_4 http://mycollege.edu/students/Mary rdfdoc#id2 #_5 http://mycollege.edu/students/Sue } ############################################################################## rp test alt1 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://x.org/packages/X11 ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:DistributionSite ::xotcl::rdf::parser::RDFAlt-::res1::prop1::res1 --- rdf:Alt TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = ftp://ftp.x.org MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = ftp://ftp.cs.purdue.edu MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop3 --- rdf:li ATTR: resource = ftp://ftp.eu.net MEMBER-INDEX: rdf:_3 } { http://x.org/packages/X11 s:DistributionSite rdfdoc#id2 rdfdoc#id2 #type #Alt rdfdoc#id2 #_1 ftp://ftp.x.org rdfdoc#id2 #_2 ftp://ftp.cs.purdue.edu rdfdoc#id2 #_3 ftp://ftp.eu.net } ############################################################################## rp test bag2 { Ora Lassila } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFBag-::res1 --- rdf:Bag ATTR: ID = pages TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1 --- rdf:li ATTR: resource = http://foo.org/foo.html MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop2 --- rdf:li ATTR: resource = http://bar.org/bar.html MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFDescription-::res2 --- rdf:Description ATTR: about = #pages ::xotcl::rdf::parser::RDFProperty-::res2::prop1 --- s:Creator PCDATA: Ora Lassila } { =================== unreferenced: rdfdoc#pages #type #Bag rdfdoc#pages #_1 http://foo.org/foo.html rdfdoc#pages #_2 http://bar.org/bar.html rdfdoc#pages s:Creator Ora Lassila } ############################################################################## rp test aboutEach { (c) 1998, The Foo Organization (c) 1998, The Foo Organization } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: aboutEachPrefix = http://foo.org/doc ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Copyright PCDATA: (c) 1998, The Foo Organization ::xotcl::rdf::parser::RDFDescription-::res2 --- rdf:Description ATTR: aboutEach = #docpages ::xotcl::rdf::parser::RDFProperty-::res2::prop1 --- s:Copyright PCDATA: (c) 1998, The Foo Organization ::xotcl::rdf::parser::RDFBag-::res3 --- rdf:Bag ATTR: ID = docpages TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res3::prop1 --- rdf:li ATTR: resource = http://foo.org/doc/page1 MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res3::prop2 --- rdf:li ATTR: resource = http://foo.org/doc/page2 MEMBER-INDEX: rdf:_2 } { http://foo.org/doc/page1 http://description.org/schema/Copyright (c) 1998, The Foo Organization http://foo.org/doc/page2 http://description.org/schema/Copyright (c) 1998, The Foo Organization =================== unreferenced: rdfdoc#docpages #type #Bag rdfdoc#docpages #_1 http://foo.org/doc/page1 rdfdoc#docpages #_2 http://foo.org/doc/page2 } ############################################################################## rp test "BagID on List" { Me } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: aboutEach = #docpages ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:somebag ::xotcl::rdf::parser::RDFBag-::res1::prop1::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li ATTR: resource = http://foo.org/foo.html MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li ATTR: resource = http://bar.org/bar.html MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- s:Creator PCDATA: Me ::xotcl::rdf::parser::RDFBag-::res2 --- rdf:Bag ATTR: ID = docpages TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res2::prop1 --- rdf:li ATTR: resource = http://foo.org/doc/page1 MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res2::prop2 --- rdf:li ATTR: resource = http://foo.org/doc/page2 MEMBER-INDEX: rdf:_2 } { http://foo.org/doc/page1 http://description.org/schema/somebag rdfdoc#id2 rdfdoc#id2 #type #Bag rdfdoc#id2 #_1 http://foo.org/foo.html rdfdoc#id2 #_2 http://bar.org/bar.html http://foo.org/doc/page1 http://description.org/schema/Creator Me http://foo.org/doc/page2 http://description.org/schema/somebag rdfdoc#id2 http://foo.org/doc/page2 http://description.org/schema/Creator Me =================== unreferenced: rdfdoc#docpages #type #Bag rdfdoc#docpages #_1 http://foo.org/doc/page1 rdfdoc#docpages #_2 http://foo.org/doc/page2 } ############################################################################## rp test "Sharing Values" { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFSeq-::res1 --- rdf:Seq ATTR: ID = JSPapersByDate TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq ::xotcl::rdf::parser::RDFMember-::res1::prop1 --- rdf:li ATTR: resource = http://www.dogworld.com/Aug96.doc MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop2 --- rdf:li ATTR: resource = http://www.webnuts.net/Jan97.html MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res1::prop3 --- rdf:li ATTR: resource = http://www.carchat.com/Sept97.html MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFSeq-::res2 --- rdf:Seq ATTR: ID = JSPapersBySubj TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq ::xotcl::rdf::parser::RDFMember-::res2::prop1 --- rdf:li ATTR: resource = http://www.carchat.com/Sept97.html MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res2::prop2 --- rdf:li ATTR: resource = http://www.dogworld.com/Aug96.doc MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res2::prop3 --- rdf:li ATTR: resource = http://www.webnuts.net/Jan97.html MEMBER-INDEX: rdf:_3 } { =================== unreferenced: rdfdoc#JSPapersByDate #type #Seq rdfdoc#JSPapersByDate #_1 http://www.dogworld.com/Aug96.doc rdfdoc#JSPapersByDate #_2 http://www.webnuts.net/Jan97.html rdfdoc#JSPapersByDate #_3 http://www.carchat.com/Sept97.html rdfdoc#JSPapersBySubj #type #Seq rdfdoc#JSPapersBySubj #_1 http://www.carchat.com/Sept97.html rdfdoc#JSPapersBySubj #_2 http://www.dogworld.com/Aug96.doc rdfdoc#JSPapersBySubj #_3 http://www.webnuts.net/Jan97.html } ############################################################################## rp test "aggregates" { Mary Andrew Jacky Crystal The Coolest Web Page Il Pagio di Web Fuba } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.foo.com/cool.html ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- dc:Creator ::xotcl::rdf::parser::RDFSeq-::res1::prop1::res1 --- rdf:Seq ATTR: ID = CreatorsAlphabeticalBySurname TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop1 --- rdf:li PCDATA: Mary Andrew MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop1::res1::prop2 --- rdf:li PCDATA: Jacky Crystal MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- dc:Identifier ::xotcl::rdf::parser::RDFBag-::res1::prop2::res1 --- rdf:Bag ATTR: ID = MirroredSites TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop1 --- rdf:li ATTR: rdf:resource = http://www.foo.com.au/cool.html MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop2 --- rdf:li ATTR: rdf:resource = http://www.foo.com.it/cool.html MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFProperty-::res1::prop3 --- dc:Title ::xotcl::rdf::parser::RDFAlt-::res1::prop3::res1 --- rdf:Alt TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt ::xotcl::rdf::parser::RDFMember-::res1::prop3::res1::prop1 --- rdf:li ATTR: xml:lang = en PCDATA: The Coolest Web Page MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop3::res1::prop2 --- rdf:li ATTR: xml:lang = it PCDATA: Il Pagio di Web Fuba MEMBER-INDEX: rdf:_2 } { http://www.foo.com/cool.html http://purl.org/metadata/dublin_core#Creator rdfdoc#CreatorsAlphabeticalBySurname rdfdoc#CreatorsAlphabeticalBySurname #type #Seq rdfdoc#CreatorsAlphabeticalBySurname #_1 Mary Andrew rdfdoc#CreatorsAlphabeticalBySurname #_2 Jacky Crystal http://www.foo.com/cool.html http://purl.org/metadata/dublin_core#Identifier rdfdoc#MirroredSites rdfdoc#MirroredSites #type #Bag rdfdoc#MirroredSites #_1 http://www.foo.com.au/cool.html rdfdoc#MirroredSites #_2 http://www.foo.com.it/cool.html http://www.foo.com/cool.html http://purl.org/metadata/dublin_core#Title rdfdoc#id4 rdfdoc#id4 #type #Alt rdfdoc#id4 #_1 The Coolest Web Page rdfdoc#id4 #_2 Il Pagio di Web Fuba } ############################################################################## rp test "bagReification" { literal, well-formed tag xyz } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFBag-::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop1 --- rdf:li ATTR: parseType = Literal PCDATA: literal, well-formed tag MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res1::prop2 --- rdf:li MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1 --- s:x PCDATA: xyz } { =================== unreferenced: rdfdoc#id1 #type #Bag rdfdoc#id1 #_1 literal, well-formed tag rdfdoc#id1 #_2 rdfdoc#id2 rdfdoc#id2 http://description.org/schema/x xyz } # the following reification is done by SirPac, but it does not seem necessary # (uncomment reify property in RDFTriple, if needed #{ #=================== unreferenced: # rdfdoc#id1 #type #Bag # rdfdoc#id1 #_1 # literal, well-formed tag # # rdfdoc#id1 #_2 rdfdoc#id2 # rdfdoc#id2 http://description.org/schema/x xyz # rdfdoc#id3 #predicate http://description.org/schema/x # rdfdoc#id3 #subject rdfdoc#id2 # rdfdoc#id3 #object xyz # rdfdoc#id3 #type #Statement #} ############################################################################## rp test "parseLiteral" { xyz xyz literal, well-formed tag literal, well-formed tag xyz } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://mycollege.edu/ ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:students ATTR: parseType = Literal PCDATA: xyz ::xotcl::rdf::parser::RDFDescription-::res2 --- rdf:Description ATTR: about = http://mycollege.edu/ ::xotcl::rdf::parser::RDFProperty-::res2::prop1 --- s:students ATTR: parseType = Literal PCDATA: xyz ::xotcl::rdf::parser::RDFBag-::res3 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res3::prop1 --- rdf:li ATTR: parseType = Literal PCDATA: literal, well-formed tag MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFMember-::res3::prop2 --- rdf:li ATTR: parseType = AllOtherMustbeLiteral PCDATA: literal, well-formed tag MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFMember-::res3::prop3 --- rdf:li MEMBER-INDEX: rdf:_3 ::xotcl::rdf::parser::RDFDescription-::res3::prop3::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res3::prop3::res1::prop1 --- s:x PCDATA: xyz } { http://mycollege.edu/ http://description.org/schema/students xyz http://mycollege.edu/ http://description.org/schema/students xyz =================== unreferenced: rdfdoc#id3 #type #Bag rdfdoc#id3 #_1 literal, well-formed tag rdfdoc#id3 #_2 literal, well-formed tag rdfdoc#id3 #_3 rdfdoc#id4 rdfdoc#id4 http://description.org/schema/x xyz } ############################################################################## rp test typedNode1 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.xyz.com TYPES: http://purl.org/dc/elements/1.0/typed ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- DC:Creator ATTR: rdf:resource = http://www.xyz.com/homepage/ } { http://www.xyz.com http://purl.org/dc/elements/1.0/Creator http://www.xyz.com/homepage/ http://www.xyz.com #type http://purl.org/dc/elements/1.0/typed } ################################################################### ## UWE: im wiedererzeugten XML/RDF fehlt m.M. das parseType="Resosurce" rp test nestedProperty { } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- Description ATTR: about = http://www.webnuts.net/Jan97.html ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- dc:Subject ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- value PCDATA: 020 - Library Science ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- l:Classification PCDATA: Dewey Decimal Code } { http://www.webnuts.net/Jan97.html http://purl.org/metadata/dublin_core#Subject rdfdoc#id2 rdfdoc#id2 #value 020 - Library Science rdfdoc#id2 http://mycorp.com/schemas/my-schema#Classification Dewey Decimal Code } rp test nestedProperty2 { 020 - Library Science Dewey Decimal Code } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- Description ATTR: about = http://www.webnuts.net/Jan97.html ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- dc:Subject ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- value PCDATA: 020 - Library Science ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- l:Classification PCDATA: Dewey Decimal Code } { http://www.webnuts.net/Jan97.html http://purl.org/metadata/dublin_core#Subject rdfdoc#id2 rdfdoc#id2 #value 020 - Library Science rdfdoc#id2 http://mycorp.com/schemas/my-schema#Classification Dewey Decimal Code } rp test nestedProperty3 { 020 - Library Science Dewey Decimal Code } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- Description ATTR: about = http://www.webnuts.net/Jan97.html ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- dc:Subject ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- value PCDATA: 020 - Library Science ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- l:Classification PCDATA: Dewey Decimal Code } { http://www.webnuts.net/Jan97.html http://purl.org/metadata/dublin_core#Subject rdfdoc#id2 rdfdoc#id2 #value 020 - Library Science rdfdoc#id2 http://mycorp.com/schemas/my-schema#Classification Dewey Decimal Code } rp test nestedProperty4 { 020 - Library Science en Dewey Decimal Code } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- Description ATTR: about = http://www.webnuts.net/Jan97.html ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- dc:Subject ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- value PCDATA: 020 - Library Science ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- l:Classification ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1::prop2::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2::res1::prop1 --- l:lang PCDATA: en ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2::res1::prop2 --- l:string PCDATA: Dewey Decimal Code } { http://www.webnuts.net/Jan97.html http://purl.org/metadata/dublin_core#Subject rdfdoc#id2 rdfdoc#id2 #value 020 - Library Science rdfdoc#id2 http://mycorp.com/schemas/my-schema#Classification rdfdoc#id3 rdfdoc#id3 http://mycorp.com/schemas/my-schema#lang en rdfdoc#id3 http://mycorp.com/schemas/my-schema#string Dewey Decimal Code } rp test thirdAbbrev1 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 http://description.org/schema/Name Ora Lassila http://www.w3.org/staffId/85740 http://description.org/schema/Email lassila@w3.org http://www.w3.org/staffId/85740 #type http://description.org/schema/Person } rp test thirdAbbrev2 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator rdfdoc#id2 rdfdoc#id2 http://description.org/schema/Name Ora Lassila rdfdoc#id2 http://description.org/schema/Email lassila@w3.org rdfdoc#id2 #type http://description.org/schema/Person } rp test thirdAbbrev3 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 http://description.org/schema/Name Ora Lassila http://www.w3.org/staffId/85740 http://description.org/schema/Email lassila@w3.org http://www.w3.org/staffId/85740 #type http://description.org/schema/Person } rp test thirdAbbrev4 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator rdfdoc#id2 rdfdoc#id2 http://description.org/schema/Name Ora Lassila rdfdoc#id2 http://description.org/schema/Email lassila@w3.org rdfdoc#id2 #type http://description.org/schema/Person } rp test secondAbbrev1 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 http://description.org/schema/Name Ora Lassila http://www.w3.org/staffId/85740 http://description.org/schema/Email lassila@w3.org } rp test secondAbbrev2 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 http://description.org/schema/Name Ora Lassila http://www.w3.org/staffId/85740 http://description.org/schema/Email lassila@w3.org } rp test secondAbbrev3 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- s:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- s:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://description.org/schema/Creator rdfdoc#id2 rdfdoc#id2 http://description.org/schema/Name Ora Lassila rdfdoc#id2 http://description.org/schema/Email lassila@w3.org } ################################################################### rp test resource1 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ATTR: rdf:resource = http://www.w3.org/staffId/85740 ::xotcl::rdf::parser::RDFDescription-::res2 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 ::xotcl::rdf::parser::RDFProperty-::res2::prop1 --- v:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res2::prop2 --- v:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://schema.org/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 v:Name Ora Lassila http://www.w3.org/staffId/85740 v:Email lassila@w3.org } ################################################################### rp test resource2 { Ora Lassila lassila@w3.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.w3.org/Home/Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Creator ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ATTR: about = http://www.w3.org/staffId/85740 ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- v:Name PCDATA: Ora Lassila ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- v:Email PCDATA: lassila@w3.org } { http://www.w3.org/Home/Lassila http://schema.org/Creator http://www.w3.org/staffId/85740 http://www.w3.org/staffId/85740 v:Name Ora Lassila http://www.w3.org/staffId/85740 v:Email lassila@w3.org } ################################################################### rp test typedNode1 { Uwe Zdun uwe@xotcl.org } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://www.xotcl.org/uwe TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- s:Name PCDATA: Uwe Zdun ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- s:Email PCDATA: uwe@xotcl.org } { http://www.xotcl.org/uwe http://description.org/schema/Name Uwe Zdun http://www.xotcl.org/uwe http://description.org/schema/Email uwe@xotcl.org http://www.xotcl.org/uwe #type http://description.org/schema/Person } rp test typedNode2 { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: rdf:about = http://www.xotcl.org/uwe TYPES: http://description.org/schema/Person ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- Name PCDATA: Uwe Zdun ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- Email PCDATA: uwe@xotcl.org } { http://www.xotcl.org/uwe http://description.org/schema/Name Uwe Zdun http://www.xotcl.org/uwe http://description.org/schema/Email uwe@xotcl.org http://www.xotcl.org/uwe #type http://description.org/schema/Person } ################################################################### rp test complexListItems { en Object Oriented Design and System Development en Introduction to the concepts of object-oriented programing de Einführung in die Konzepte objekt-orientierter Programmierung } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://nm.wu-wien.ac.at/Lehre/oo1/ ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- gen:Title ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- xml:lang PCDATA: en ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- gen:String PCDATA: Object Oriented Design and System Development ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- gen:Description ::xotcl::rdf::parser::RDFBag-::res1::prop2::res1 --- rdf:Bag TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop1 --- rdf:li MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1::res1::prop1 --- xml:lang PCDATA: en ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1::res1::prop2 --- gen:String PCDATA: Introduction to the concepts of object-oriented programing ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop2 --- rdf:li MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1::prop2::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop2::res1::prop1 --- xml:lang PCDATA: de ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop2::res1::prop2 --- gen:String PCDATA: Einführung in die Konzepte objekt-orientierter Programmierung } { http://nm.wu-wien.ac.at/Lehre/oo1/ http://universal.org/metadata/ims#Title rdfdoc#id2 rdfdoc#id2 xml:lang en rdfdoc#id2 http://universal.org/metadata/ims#String Object Oriented Design and System Development http://nm.wu-wien.ac.at/Lehre/oo1/ http://universal.org/metadata/ims#Description rdfdoc#id3 rdfdoc#id3 #type #Bag rdfdoc#id3 #_1 rdfdoc#id4 rdfdoc#id4 xml:lang en rdfdoc#id4 http://universal.org/metadata/ims#String Introduction to the concepts of object-oriented programing rdfdoc#id3 #_2 rdfdoc#id5 rdfdoc#id5 xml:lang de rdfdoc#id5 http://universal.org/metadata/ims#String Einführung in die Konzepte objekt-orientierter Programmierung } ################################################################### rp test complexListItems2 { en Object Oriented Design and System Development en Introduction to the concepts of object-oriented programing de Einführung in die Konzepte objekt-orientierter Programmierung } { ::xotcl::rdf::parser::RDFTag- --- RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = http://nm.wu-wien.ac.at/Lehre/oo1/ ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- gen:Title ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- xml:lang PCDATA: en ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- gen:String PCDATA: Object Oriented Design and System Development ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- gen:Description ::xotcl::rdf::parser::RDFSeq-::res1::prop2::res1 --- rdf:Seq TYPES: http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop1 --- rdf:li MEMBER-INDEX: rdf:_1 ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1::res1::prop1 --- cls:entry ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1::prop1::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1::res1::prop1::res1::prop1 --- gen:language PCDATA: en ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop1::res1::prop1::res1::prop2 --- gen:String PCDATA: Introduction to the concepts of object-oriented programing ::xotcl::rdf::parser::RDFMember-::res1::prop2::res1::prop2 --- rdf:li MEMBER-INDEX: rdf:_2 ::xotcl::rdf::parser::RDFDescription-::res1::prop2::res1::prop2::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop2::res1::prop1 --- xml:lang PCDATA: de ::xotcl::rdf::parser::RDFProperty-::res1::prop2::res1::prop2::res1::prop2 --- gen:String PCDATA: Einführung in die Konzepte objekt-orientierter Programmierung } { http://nm.wu-wien.ac.at/Lehre/oo1/ http://universal.org/metadata/ims#Title rdfdoc#id2 rdfdoc#id2 xml:lang en rdfdoc#id2 http://universal.org/metadata/ims#String Object Oriented Design and System Development http://nm.wu-wien.ac.at/Lehre/oo1/ http://universal.org/metadata/ims#Description rdfdoc#id3 rdfdoc#id3 #type #Seq rdfdoc#id3 #_1 rdfdoc#id4 rdfdoc#id4 cls:entry rdfdoc#id5 rdfdoc#id5 http://universal.org/metadata/ims#language en rdfdoc#id5 http://universal.org/metadata/ims#String Introduction to the concepts of object-oriented programing rdfdoc#id3 #_2 rdfdoc#id6 rdfdoc#id6 xml:lang de rdfdoc#id6 http://universal.org/metadata/ims#String Einführung in die Konzepte objekt-orientierter Programmierung } ################################################################### rp test dmoz { Computers } { ::xotcl::rdf::parser::RDFTag- --- r:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- r:Description ATTR: r:ID = Top/Computers TYPES: http://dmoz.org/rdf/Topic ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- tag ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- r:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- catid PCDATA: 4 ::xotcl::rdf::parser::RDFProperty-::res1::prop2 --- d:Title PCDATA: Computers ::xotcl::rdf::parser::RDFProperty-::res1::prop3 --- link ATTR: r:resource = http://www.cs.tcd.ie/FME/ ::xotcl::rdf::parser::RDFProperty-::res1::prop4 --- link ATTR: r:resource = http://pages.whowhere.com/computers/pnyhlen/Timeline.html } { Top/Computers http://dmoz.org/rdf/tag rdfdoc#id2 rdfdoc#id2 http://dmoz.org/rdf/catid 4 Top/Computers http://purl.org/dc/elements/1.0/Title Computers Top/Computers http://dmoz.org/rdf/link http://www.cs.tcd.ie/FME/ Top/Computers http://dmoz.org/rdf/link http://pages.whowhere.com/computers/pnyhlen/Timeline.html Top/Computers #type http://dmoz.org/rdf/Topic } ############################################################################## rp test "IDforNestedDescription" { } { ::xotcl::rdf::parser::RDFTag- --- rdf:RDF ::xotcl::rdf::parser::RDFDescription-::res1 --- rdf:Description ATTR: about = page ::xotcl::rdf::parser::RDFProperty-::res1::prop1 --- g2k:area ATTR: rdf:ID = b14711 ::xotcl::rdf::parser::RDFDescription-::res1::prop1::res1 --- rdf:Description ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop1 --- g2k:term PCDATA: Hessen ::xotcl::rdf::parser::RDFProperty-::res1::prop1::res1::prop2 --- g2k:type PCDATA: Land } { b14711 http://g2k-schema#term Hessen b14711 http://g2k-schema#type Land page http://g2k-schema#area b14711 } puts "FINISHED TEST! ([rp set nodeTime] + [rp set recreateTime] + [rp set tripleTime] = [expr {[rp set nodeTime] + [rp set recreateTime] + [rp set tripleTime]}])"