<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:a="http://a#"> <rdf:Description bagId="3B"> <a:c rdf:ID="4p"><a:d rdf:bagId="5B"><a:e rdf:ID="6p">7s</a:e></a:d></a:c> </rdf:Description> </rdf:RDF> |
<?xml version="1.0"?> |
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:a="http://a#"> |
<rdf:Description bagId="3B"> |
description_pre = new Description('3B', NULL, NULL, NULL); bagId = 'B1', about = NULL; aboutEach = NULL, aboutEachPrefix = NULL; containers.registerContainer(this, '3B')); createTriple('...type', '3B', '...Bag');
<a:c rdf:ID="4p"> |
<a:d rdf:bagId="5B"> |
<a:e rdf:ID="6p"> |
C[-1]->addSubject('genid2') C[-3]->completeDescription({P[-2], S[-2], ID}) container[-3] = '3B'; subject[-2] = 'genid1'; predicate[-2] = 'c'; ID = 'genid2'; reify('3B', {'c', 'genid1', 'genid2'});
C[-1]->setTypeFor('genid2') type[-1] = 'd'; {'#type','genid2','d'}
if (resource) C[-1]->addPredicateAndObject(tagName, resource) for each subjects # none db.addTriple(a:e, subject, (nonexistent) resource)
7s |
C[-2]->completeDescription({P[-1], S[-1], id|about (aboutEach?)}) container[-2] = '5B'; subject[-1] = 'genid2'; predicate[-1] = 'e'; reify('5B', {'e', 'genid2', '7s'}); C[-2]->addSubject(id|about) for each attribute (bagId, {attribute, id|about, value})
</a:e> |
</a:d> |
</a:c> |
</rdf:Description> |
</rdf:RDF> |
This is a slight modification of the Mozilla cattest.rdf. I added IDs and bagIDs where I could to make it more clear what came from where. The real cattest.rdf produces a map where "BTop", "Top" and "Btag" are all genids.
<r:RDF xmlns:r="http://w3.org/TR/1999/PR-rdf-syntax-19990105#" xmlns:d="http://purl.org/dc/elements/1.0/" xmlns="http://directory.mozilla.org/rdf"> <Topic r:ID="Topic" r:bagID="bTopic"> <tag r:ID="btag" catid="4365"/> <d:Title r:ID="bTitle">The Title</d:Title> <narrow r:resource="Top/Bookmarks" r:ID="bNarrow"/> </Topic> </r:RDF> |
<r:RDF xmlns:r="http://w3.org/TR/1999/PR-rdf-syntax-19990105#" xmlns:d="http://purl.org/dc/elements/1.0/" xmlns="http://directory.mozilla.org/rdf"> |
<Topic r:ID="Topic" r:bagID="bTopic"> <tag r:ID="btag" catid="4365"/> <d:Title r:ID="bTitle">The Title</d:Title> <narrow r:resource="Top/Bookmarks" r:ID="bNarrow"/> </Topic> </r:RDF> |
description_pre = new Description('pre', NULL, 'B1', NULL); bagId = 'pre', about = NULL; aboutEach = 'B1', aboutEachPrefix = NULL; containers.registerContainer(this, 'pre')); createTriple('...type', 'pre', '...Bag'); subjects = containers.aboutEach(this, 'B1');reifications RDF generated supplied
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:s="http://www.w3.org/schema/certHTMLv1/"> <rdf:Description rdf:aboutEach="#B1" bagId="pre"> <s:hasAccessTo rdf:resource="http://resource/a" rdf:ID="hata"/> </rdf:Description> <rdf:Bag ID="B1"> <rdf:li> <s:resourceAccessRule rdf:ID="U1" rdf:bagId="U1B" access="access1" accessor="http://user1"/> </rdf:li> <rdf:li> <s:resourceAccessRule rdf:ID="U2" rdf:bagId="U2B" access="access2" accessor="http://user2"/> </rdf:li> </rdf:Bag> <rdf:Description rdf:aboutEach="#B1" bagId="post"> <s:hasAccessTo rdf:resource="http://resource/b" rdf:ID="hatb"/> </rdf:Description> </rdf:RDF> |
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:s="http://www.w3.org/schema/certHTMLv1/"> |
<rdf:Description rdf:aboutEach="#B1" bagId="pre"> |
description_pre = new Description('pre', NULL, 'B1', NULL); bagId = 'pre', about = NULL; aboutEach = 'B1', aboutEachPrefix = NULL; containers.registerContainer(this, 'pre')); createTriple('...type', 'pre', '...Bag'); subjects = containers.aboutEach(this, 'B1');
<s:hasAccessTo rdf:resource="http://resource/a" rdf:ID="hata"/> |
C[-3]->completeDescription({P[-2], S[-2], ID}); # no container 3 up the tag stack # C[-1] = description_pre C[-1]->setTypeFor('4N'); # no type 1 up the tag stack C[-1]->addSubject('hata') # ignored - no subject if (resource) C[-1]->addPredicateAndObject(tagName, resource) # hasAccessTo', 'http://resource/a' for each subjects in aboutEach # none db.addTriple('http://www.w3.org/schema/certHTMLv1/hasAccessTo', subject, 'http://resource/a' if (aboutEach || aboutEachPrefix) subjectLess.add('http://www.w3.org/schema/certHTMLv1/hasAccessTo', 'http://resource/a')
</rdf:Description> <rdf:Bag ID="B1"> |
bag_B1 = new Bag('B1') containers.registerContainer(this, 'B1')) createTriple('...type', 'B1', '...Bag')
<rdf:li> <s:resourceAccessRule rdf:ID="U1" rdf:bagId="U1B" access="access1" accessor="http://user1"/> </rdf:li> |
description_pre = new Description('U1B', 'U1', NULL, NULL) bagId = 'U1B', about = 'U1'; aboutEach = NULL, aboutEachPrefix = NULL; containers.registerContainer(this, 'U1B')) createTriple('...#type', 'U1B', '...#Bag') subjects = ['U1'] # single subject ('U1') C[-1]->addSubject('U1'); # C[-1] = bag_B1 for each container aboutEach.interestedIn("B1") (description_pre) { for each container.subjectLess.get (subjectLess_hata) { reify('pre', subjectLess.complete('U1')); } }
<rdf:li> <s:resourceAccessRule rdf:ID="U2" rdf:bagId="U2B" access="access2" accessor="http://user2"/> </rdf:li> |
</rdf:Bag> <rdf:Description rdf:aboutEach="#B1" bagId="post"> |
description_post = new Description('post', NULL, 'B1', NULL); bagId = 'post', about = NULL; aboutEach = 'B1', aboutEachPrefix = NULL; containers.registerContainer(this, 'post')); createTriple('...type', 'post', '...Bag'); subjects = containers.aboutEach(this, 'B1');
<s:hasAccessTo rdf:resource="http://resource/b" rdf:ID="hatb"/> |
C[-3]->completeDescription({P[-2], S[-2], ID}); # no container 3 up the tag stack # C[-1] = description_pre C[-1]->setTypeFor('4N'); # no type 1 up the tag stack C[-1]->addSubject('hatb'); # hmmmm if (resource) C[-1]->addPredicateAndObject(tagName, resource) # hasAccessTo', 'http://resource/b' for each subjects db.addTriple('http://www.w3.org/schema/certHTMLv1/hasAccessTo', subject, 'http://resource/b' if (aboutEach || aboutEachPrefix) subjectLess.add('http://www.w3.org/schema/certHTMLv1/hasAccessTo', 'http://resource/b')
</rdf:Description> </rdf:RDF> |