<?xml version="1.0" encoding="iso-8859-1"?> 
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
	xmlns:dc="http://purl.org/dc/elements/1.1/" 
	xmlns:dcterms="http://purl.org/dc/terms/" 
	xmlns:admin="http://webns.net/mvcb/"
	xmlns:thr="http://purl.org/rss/1.0/modules/threading/"
	xmlns:pb="http://www.ideaspace.net/users/wkearney/schema/postback/" 
	xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" 
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:mt="http://movabletype.org/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:html="http://www.w3.org/TR/REC-html40/"
	xmlns="http://purl.org/rss/1.0/"
> 

<rdf:Description rdf:about="http://www.ideaspace.net/users/wkearney/archives/entries/000463.html"> 
	<title>What&apos;re you near?</title>
	<link>http://www.ideaspace.net/users/wkearney/archives/entries/000463.html</link>
	<description>I&apos;ve been mulling over what would be a good way to indicate useful positioning data. There are any number of...</description> 

	<dc:creator>wkearney</dc:creator> 
	<dc:date>2003-08-13T17:40:12-05:00</dc:date> 
	<dc:identifier>http://www.ideaspace.net/users/wkearney/archives/entries/000463.html</dc:identifier>
	<dc:language>en-us</dc:language>

	 
	<dc:subject>Metadata</dc:subject>

	

	<slash:comments>1</slash:comments> 
	<thr:children>
		<rdf:Seq> 
			<rdf:li rdf:resource="http://www.ideaspace.net/users/wkearney/archives/entries/000463.html#c237" /> 
		</rdf:Seq>
	</thr:children>

	
	
	
	<dcterms:abstract>I&apos;ve been mulling over what would be a good way to indicate useful positioning data. There are any number of...</dcterms:abstract> 
	<dcterms:created>2003-08-13T17:40:12-05:00</dcterms:created> 
	<dcterms:isPartOf rdf:resource="http://www.ideaspace.net/users/wkearney/" /> 

	<mt:body><![CDATA[<p>I've been mulling over what would be a good way to indicate useful positioning data.  There are any number of ways we all think about a location for something.  Most of the time we don't use just one style of identifier.</p>
<p>To cut to the chase, using latitude/longtitude cooridinates is not what most people consider as a useful way to describe a location.  I'd tell someone I'm going <i>downtown</i>, not a coordinate pair. </p>]]></mt:body>
	<mt:excerpt>I&apos;ve been mulling over what would be a good way to indicate useful positioning data. There are any number of...</mt:excerpt> 
	<mt:more><![CDATA[<p>Even if <b>I</b> happen to know the coordinate pair, other folks won't and would look at me like I was a nut if I tried to make them.  <em>(not that they don't give me that look anyway...)</em></p>
<p>What I'm after here is a way for people to indicate, in their Foaf documents, that they're <em>near</em> something.  This way, when sifting through a <b>LOT</b> of data I can simple as for the near elements.  Once I've got those it's a simple matter to detect what location URI are being used and what positioner is being used.</p>
<p>As in:<blockquote><pre>&lt;foaf:Person rdf:nodeID="wkearney99"&gt;
	&lt;foaf:name&gt;Bill Kearney&lt;/foaf:name&gt;
	&lt;foaf:based_near rdf:nodeID="nn" rdf:type="http://ideaspace.net/postal/us#20817"/&gt;
	&lt;foaf:based_near rdf:nodeID="aa" rdf:type="http://www.daml.org/2001/10/html/airport-ont/iata#DCA"/&gt;
	&lt;foaf:based_near rdf:nodeID="rr" rdf:type="http://www.daml.org/2001/10/html/airport-ont/icao#KDCA"/&gt;
	&lt;foaf:based_near rdf:nodeID="bb" rdf:type=
	"http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing?latitude=38.99882&amp;longitude=-77.12685"/&gt;
&lt;/foaf:Person&gt;</blockquote>
<p>This would allow anyone knowing how to do 'based_near' searches on the Airport vocabulary to find me.  Likewise if they knew how to do searches based on my made up postal vocabulary they could use that.  The advantage here is in order to find me they need only search for the 'near' element and then know what vocabularies are useful.  It gets more involved when things requiring parameters come into play but not so much as to be impossible to handle.</p>
<p>What's a cool possiblity here is doing lookups on the foaf:based_near element and then doing string matching on the leading prefixes you know about.  If all you know about are postal codes then you're just going to look for foaf:based_near elements starting with "http://ideaspace.net/postal/us#" as a way to refine your results.  Likewise for handling airports or GPS coordinates. </p>
<p>Where this start to get <em>very</em> interesting comes from using RDF to better describe the nature of the nearness.  Later in the document I could use an rdf:Description to say 'how near' I am to one of them.</p>
<blockquote><pre>&lt;rdf:Description rdf:nodeID="aa">
	&lt;oc:distance>10&lt;/oc:distance>
&lt;/rdf:Description>

&lt;rdf:Description rdf:about="http://www.daml.org/2001/10/html/airport-ont/icao#KDCA">
	&lt;dc:title>Ronald Reagan National Airport&lt;/dc:title>
&lt;/rdf:Description></pre></blockquote>
<p>Here I'm saying, using the OpenCyc vocabulary for distance, that I'm 10 miles from it.  I'm not entirely up to speed on the complete accuracy of making the statement in this manner, but you get the idea.  Note the title is describing the airport itself.  I can't use that to describe the "#aa" fragment as that's my nearness relationship, not the airport itself.</p>
<p>If I wanted to be clever I suppose I could put something like a dc:description on the distance relationship to say something like how horrible a drive it is during rush hour.  <em>That exercise left to the readers...</em></p>
<p>So if something went querying for me, then sub-queried for what I'm based near, and then went querying for any extra descriptions about the results found, they'd be able to know I'm 10 miles from it.  If they asked further they'd find the title for it is 'Ronald Reagan National Airport'.  </p>
<p>This is that layering effect that's so hard to describe to people.  You could turn around and apply that same sort of markup onto anything else you wanted. </p>
<p>Yes, this form of markup <em>will</em> require what some would consider extra processing to handle.  But by making use of simple statments like this it's highly likely that the processing time would end up being much more predictable as the amount of data grows.  Instead of having to pick apart a rats nest of compound XML fragments it'll become possible to use a lot of little statements added up in layers.  

<p><em>Update:</em> thanks go out to Morten (twice now) for pointing up my mistakes in the orignal example and helping to refine it.  The <a href="http://www.ideaspace.net/users/wkearney/misc/fragments/463-1.rdf">full document</a> now <a href="http://www.w3.org/RDF/Validator/">validates</a>, here's it's <a href="http://www.ideaspace.net/users/wkearney/misc/fragments/463-2.png">graph</a>.</p>]]></mt:more>
	<mt:keywords></mt:keywords> 
	<mt:entryID>463</mt:entryID>

	<mt:entryPrev>462</mt:entryPrev>
	<mt:entryNext>464</mt:entryNext>

	<html:link rel="prev" type="application/xml" href="http://www.ideaspace.net/users/wkearney/archives/entries/000462.html.xml" title="Those that rail against the idea..." />
	<html:link rel="next" type="application/xml" href="http://www.ideaspace.net/users/wkearney/archives/entries/000464.html.xml" title="That which they so richly deserve" />
	
	<mt:author>wkearney</mt:author> 
	<mt:authorNickname>Bill Kearney</mt:authorNickname> 
	<mt:authorEmail>wkearney@ideaspace.net</mt:authorEmail>
	<mt:authorURL rdf:resource="http://www.ideaspace.net/users/wkearney" /> 
	
	<foaf:name>wkearney</foaf:name> 
	<foaf:mbox rdf:resource="mailto:wkearney@ideaspace.net" /> 
	<foaf:nick>Bill Kearney</foaf:nick> 
	<foaf:homepage rdf:resource="http://www.ideaspace.net/users/wkearney" />
	
	<rdfs:seeAlso rdf:resource="http://www.ideaspace.net/users/wkearney/xml/index.rdf" />
	<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.64" /> 
</rdf:Description>
</rdf:RDF>