Das eez kaput! Sometime around 2002 I spaced the entire database table that mapped individual entries to categories. Such is life. What follows is a random sampling of entries that were associated with the category. Over time, the entries will be updated and then it will be even more confusing. Wander around, though, it's still a fun way to find stuff.
identifier
element to note the URI of your image. It is reserved for some random,
and possibly repeating, internal marker that your camera uses to flag
individual images. The logic here escapes me but, whatever. I want an
identifier that points to the actual image, I think, so I'll just use
the handy
dc:identifier
instead. I wrote the RDF to a separate file and then I imported it in
to an image I was munging with RDFpic. So far, so good. Next, I
immediately exported the data to another file to see what it looked
like :
<s0:http://purl.org/dc/elements/1.1/identifier>
/home/asc/tmp/photo/2003/07/19/20030719-img_0013.jpg
</s0:http://purl.org/dc/elements/1.1/identifier>
# Which in case you're not sure
# yields the following error:
107 ->xmllint ./2003/07/19/20030719-img_0013.rdf2
./2003/07/19/20030719-img_0013.rdf2:9: \
error: error parsing attribute name
<s0:http://purl.org/dc/elements/1.1/identifier>
^
Beauty, eh?I found this linked from the OpenMap project (that rumbling sound you're hearing is the FOAF weenies getting excited) which is also pretty cool.Local Harvest maintains a definitive and reliable "living" public nationwide directory of small farms, farmers markets, and other local food sources. Our search engine ... helps people find local sources of sustainably grown food, and encourages them to establish direct contact with family farms in their local area.
Date: Sun, 8 Sep 2002 15:35:43 -0400 (EDT) From: Aaron Straup Cope To: Karl Dubost Cc: Steph Subject: Glossaries: XPath, SAX and benchmarks So, I sat down and did some tests this morning per our conversation about glossaries and XBEL and XPath. It's a bit depressing given the nature of the XPath query you need to pull stuff out of an XBEL document : "/xbel//bookmark[title=\"$keyword\"]/\@href" Since the <bookmark> element can be either next to the root <xbel> element or contained in an arbitrary number of nested <folder> elements, there isn't much too do except sniff around every node until you find what you're looking for. Which takes a long time. Longer than you'd normally want anyway... On the other hand, if you just use a plain old SAX widget to find the keyword, it takes roughly 1/4 to 1/5 of the time to do a lookup. Below are benchmarks for 100 iterations of a subroutine that does 5 keyword lookups against an XBEL file. Note that the XPath query doesn't even instantiate a new object; the same object is shared across all 500 calls to 'find'. The SAX query on the other hand, instantiates a new filter and a new parser for each lookup. Obviously, some clever caching of lookups would speed things up as well. **** 101 ->./debug.xbel Benchmark: timing 100 iterations of xpathquery... bquery: 765 wallclock secs (645.73 usr + 13.66 sys = 659.38 CPU) @ 0.15/s (n=100) 101 ->./debug.xbel Benchmark: timing 100 iterations of saxquery_pureperl... saxquery_pureperl: 171 wallclock secs (148.23 usr + 0.62 sys = 148.86 CPU) @ 0.67/s (n=100) 102 ->./debug.xbel Benchmark: timing 100 iterations of saxquery_expat... saxquery_expat: 171 wallclock secs (148.17 usr + 0.20 sys = 148.38 CPU) @ 0.67/s (n=100) **** package Foo; use base qw (XML::SAX::Base); sub keyword { my $self = shift; $self->{'__keyword'} = $_[0]; } sub link { my $self = shift; return $self->{'__link'}; } sub start_element { my $self = shift; my $data = shift; return if ($self->{'__match'}); if ((! $self->{'__bookmark'}) && ($data->{Name} eq "bookmark")) { $self->{'__bookmark'} = 1; } return if (! $self->{'__bookmark'}); if ($data->{Name} eq "bookmark") { $self->{'__link'} = $data->{Attributes}->{'{}href'}->{Value}; } $self->{'__title'} = 1 if ($data->{Name} eq "title"); } sub end_element { my $self = shift; my $data = shift; return if ($self->{'__match'}); if ($data->{Name} eq "title") { $self->{'__title'} = 0; } if ($data->{Name} eq "bookmark") { $self->{'__bookmark'} = 0; } } sub characters { my $self = shift; my $data = shift; return if ($self->{'__match'}); return if (! $self->{'__bookmark'}); return if (! $self->{'__title'}); if ($data->{Data} eq $self->{'__keyword'}) { $self->{'__match'} = 1; } } package main; my $file = "/usr/home/asc/aaronland.net/asc/webdev.xbel"; use XML::SAX::ParserFactory; $XML::SAX::ParserPackage = "XML::SAX::Expat"; use Benchmark; my $count = 100; my @keywords = ( 'FilterProxy Home Page', "REX XML Shallow Parsing with Regular Expressions", "aaronland", "Schematron - XML Validation Language", ">RE ActivePerl mod_perl ppd available", ); timethese($count, { saxquery_expat => sub { foreach my $kw (@keywords) { my $filter = Foo->new(); $filter->keyword($kw); my $parser = XML::SAX::ParserFactory->parser(Handler=>$filter); $parser->parse_uri($file); } }, }); **** use XML::XPath; use Benchmark; my $file = "/usr/home/asc/aaronland.net/asc/webdev.xbel"; my $count = 100; my $xbel = XML::XPath->new(filename=>$file); my @keywords = ( 'FilterProxy Home Page', "REX XML Shallow Parsing with Regular Expressions", "aaronland", "Schematron - XML Validation Language", ">RE ActivePerl mod_perl ppd available", ); timethese($count, { xpathquery => sub { foreach my $title (@keywords) { my $query = "/xbel//bookmark[title=\"$title\"]/\@href"; my $r = $xbel->find($query); } }, });
Concomitant \Con*com"i*tant\, n. One who, or that which, accompanies, or is collaterally connected with another; a companion; an associate; an accompaniment. Reproach is a concomitant to greatness. --Addison. The other concomitant of ingratitude is hardheartedness. --South. web1913
concomitant adj : following as a consequence; "an excessive growth of bureaucracy, with related problems"; "snags incidental to the changeover in management" [syn: {accompanying}, {attendant}, {incidental}, {incidental to(p)}] n : an event or situation that happens at the same time as or in connection with another [syn: {accompaniment}, {co-occurrence}] wn
Gregarious \Gre*ga"ri*ous\, a. [L. gregarius, fr. grex, gregis, herd; cf. Gr. ? to assemble, Skr. jar to approach. Cf. {Congregate}, {Egregious}.] Habitually living or moving in flocks or herds; tending to flock or herd together; not habitually solitary or living alone. --Burke. No birds of prey are gregarious. --Ray. web1913
gregarious adj 1: tending to form a group with others of the same kind; "gregarious bird species"; "man is a gregarious animal" [ant: {ungregarious}] 2: seeking and enjoying the company of others; "a gregarious person who avoids solitude" wn
Nonagenarian \Non`a*ge*na"ri*an\, n. [L. nonagenarius containing, or consisting of, ninety, fr. nonageni ninety each; akin to novem nine.] A person ninety years old. web1913
nonagenarian adj : being from 90 to 99 years old; "the nonagenarian inhabitants of the nursing home" n : someone whose age is in the nineties wn
A self-obsessed workout king or queen.
ex. Where's the neck on that body nazi?
I am planning to use XML::Directory::SAX to do the initial slurp, pass the output on to a filter to prune the results (calling YA parser to pull in relevant data from certain files and then write the whole thing out to a new file. To date, I have something that looks like this...
About Saturday.
ex. I'll be home saturdish.