#!../../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]}])"