Semantic Web Interest Group IRC Chat Logs for 2004-12-14

This is an automatically generated IRC chat log made by the logger bot from the Semantic Web Interest Group IRC chat at irc://irc.freenode.net/swig (also known as server irc.freenode.net channel #swig if that URI does not work for you).

See also the Semantic Web Interest Group IRC Scratchpad for the collaboratively written weblog and ESW wiki.


Semantic Web Interest Group Logs > 2004 > 2004-12 > 2004-12-14 (Latest) (Search)

01:18:49 <adr> Anyone care to comment on the semantics of http://dianoia.dnsalias.net/current/poetry/index.rdf ?

01:20:52 <jsled> adr: well, it doesn't parse...

01:21:17 <jsled> File "/home/jsled/stuff/programming/projects/w3c-swap-2000-10/2000/10/swap/llyn.py", line 1259, in intern

01:21:17 <jsled> assert ':' in urirefString, "must be absolute: %s" % urirefString

01:21:17 <jsled> AssertionError: must be absolute: listing

01:21:17 <adr> ack, hmm

01:21:27 <jsled> basically: 'listing' is unqualified.

01:21:41 <adr> hmm, i have to give it a namespace?

01:21:53 <jsled> not a namespace, per se.

01:21:55 <jsled> But yes.

01:22:05 <jsled> right now it's not a URI. It's just the literal string "listing".

01:22:32 <jsled> you can accomplish qualifying it -- in RDF/XML -- by adding an 'xmlns=' decl...

01:25:23 <adr> hmm, okay i just gave it the root of my server as the uri

01:26:01 <jsled> cool.

01:26:04 <sbp> jsled: never *EVER* use CWM to validate anything

01:26:05 <sbp> ever

01:26:08 <jsled> heh.

01:26:09 <sbp> that RDF document is valid

01:26:43 <sbp> it's RDF/XML. perhaps llyn is treating it as N3 because you didn't specify --rdf?

01:27:02 <jsled> eh?

01:27:30 <sbp> "$ cwm --rdf http://dianoia.dnsalias.net/current/poetry/index.rdf --ntriples" works fine for me

01:27:49 <jsled> it does now, because it's fixed

01:27:58 <jsled> [unless you got a copy when he originally mentioned it]

01:27:59 <sbp> ah, I see

01:28:10 <jsled> adr: It looks fine to me.

01:28:26 <sbp> in any case: http://www.w3.org/RDF/Validator/

01:29:01 <adr> Maybe I should be using dc:title instead of rdfs:label on my rdf:Description?

01:29:26 <sbp> could use both

01:31:09 <yosi> you can get cwm to use rdflib (if you have it installed) instead of its own, built-in rdf parser

01:31:10 <sbp> I still like this: [[[

01:31:12 <sbp> Note: The parser (sax2rdf) does not support reification, bagIds, or parseType=Literal.

01:31:12 <sbp> It does support the rest of RDF inc. datatypes, xml:lang, and nodeIds.

01:31:15 <sbp> ]]] - cwm --help

01:31:24 <sbp> yeah, that'd be a good bet

01:32:09 <sbp> and welcome back, yosi. I concede the @this point, by the way, though I've been thinking whether it would be useful to have a mechanism to refer to a document's formula since there isn't one

01:32:29 <yosi> sax2rdf also allows some invalid rdf --- see http://lists.w3.org/Archives/Public/public-cwm-bugs/2004Nov/0005.html

01:32:35 <sbp> one can always use <>!log:semantics, I'm just wondering about a shortcut for that

01:33:52 <sbp> thoughts scribbled from http://ilrt.org/discovery/chatlogs/swig/2004-12-13.html#T21-07-33 downwards

01:34:00 <yosi> why? to do things like http://www.w3.org/2000/10/swap/test/paradox/s2.n3 ?

01:34:47 <sbp> to do things as in the referenced URI

01:35:33 <sbp> @current a log:False . would also be a paradox, but it doesn't bother me. there will be inconsistent data on the Web

01:35:49 <sbp> people will use literals as predicates, and civilisation will probably still stand :-)

01:36:37 <sbp> the way to avoid the liars' paradox isn't to try to prevent everyone from refering to their own statements

01:37:45 <yosi> the way to avoid paradoxes is to cripple your language so you can't do anything useful

01:38:22 <sbp> you can't even do it then. Sandro's s2.n3 doesn't even use anything regarding the current formula, yet it still expresses a paradox

01:38:38 <sbp> you'd have to forbid log:semantics, or log:notIncludes

01:39:08 <yosi> if you could prove that every cwm --think would stop on every n3 document, clearly it would not be Turing-complete

01:39:25 <yosi> so long as n3 is Turing-complete, paradoxes will happen

01:39:32 <sbp> right

01:39:34 <yosi> we can just make them a little harder to write

01:40:32 <sbp> well, I think that @current would not have much impact on that. you can already write one quite easily in a single line with a few log: predicates, as Sandro's shown, but those log: predicates also have many viable and useful applications

01:40:47 <sbp> and so, I think, would @current

01:41:36 <sbp> (hmm, s2.n3 isn't valid N3: it uses -> instead of =>)

01:43:30 <yosi> how is @current different from @this?

01:44:33 <sbp> see the definition from the logs:

01:44:40 <sbp> 21:08:24 <sbp> if CWM were to input the document from <a.n3> and it contained "@current :formulaOf <a.n3> . :p :q :r .", it'd probably want to drop the first triple because there's no way that it can refer to that formula

01:44:40 <sbp> 21:08:43 <sbp> effectively, when CWM reads in a document from the *command-line*, it loses that document's formula

01:44:46 <sbp> 21:08:54 <sbp> but when it reads it using log:semantics, that's not so

01:44:47 <sbp> 21:10:19 <sbp> if I were to do "<a.n3>!log:semantics ... ." I'd think it fine to have "{ @current :formulaOf <a.n3> . :p :q :r }" in the results...

01:44:49 <sbp> 21:10:32 <sbp> but, moreover, if all of the triples in that document were to be flattened out, you'd end up with:

01:44:49 <sbp> 21:10:55 <sbp> { @current :formulaOf <a.n3> . :p :q :r } :formulaOf <a.n3> . :p :q :r .

01:45:32 <sbp> by flattener, I mean something like @forAll :s, :p, :o . { <>!log:semantics log:includes { :s :p :o } } => { :s :p :o } .

01:47:52 <sbp> nifty, no?

01:48:32 * sbp runs sandro's paradox through CWM just to see what error he gets... a recursion error, it turns out

01:51:53 <yosi> it seems in cwm currently, @this would work except that a formula must be open (accepting new triples) or closed (able to be added to a triple) and can't be both at once

01:53:02 <sbp> ah, that's interesting. are there any other cases where CWM would be using a formula of the open type, or is that only used for the working store?

01:53:57 <yosi> I looked again. It has a special exception for @this as a subject --- then throws an exception later that @this can only be used with log:forAll and log:forSome

01:54:21 <yosi> A formula must start out open, because it starts out empty

01:54:28 <yosi> then triples are added

01:54:56 <sbp> right. I made a test case a couple of days ago where I used @this with some arbitrary predicate, and was quite surprised when CWM blew--that's actually what got me started wondering why @this was going the way of the dodo

01:55:01 * sbp nods

01:55:41 <sbp> hmm. so I suppose then if you're reading from STDIN, that must be kept an open formula until the stream ends? but then you can't do anything else until that's finished too

01:56:55 <yosi> in python, file.read() is blocking anyways

01:57:49 <sbp> yeah. you'd have to thread it out, which'd probably be a big waste of time

01:57:58 <yosi> getting cwm to read things incrementally is (somewhere) on my todo list

01:58:43 <sbp> ah, buffered input you mean? yes, that's an extremely hard case--I was discussing it with kpreid et al. the other day

02:01:05 <sbp> (the discussion, for anyone wondering: http://swhack.com/logs/2004-12-12#T02-07-19)

02:02:02 <sbp> (outcome was just that it's difficult, but I thought about it further, and I think you could probably read N bytes, feed it into a StringIO object, read lines from that, and special case triple-quoted-strings)

03:07:15 <sh1mmer> evening

03:07:22 <crschmidt> evening

03:07:31 <sh1mmer> hows Chris?

03:08:05 <crschmidt> good, just playing around with openguides

03:08:27 <sh1mmer> oh right

03:08:33 <sh1mmer> yeah that looked cool.

03:08:41 <sh1mmer> Does it use sw tech?

03:08:57 <crschmidt> Dunno, is RDF sw tech? :)

03:09:06 <crschmidt> ^add http://crschmidt.net/openguides/wiki.cgi?id=R.J._Kudler%2C_DMD;format=rdf

03:09:06 <julie> Adding http://crschmidt.net/openguides/wiki.cgi?id=R.J._Kudler%2C_DMD;format=rdf to my database...

03:09:09 <julie> Added 17 statements from http://crschmidt.net/openguides/wiki.cgi?id=R.J._Kudler%2C_DMD;format=rdf. Model size is 859958.

03:09:37 <IsoosI> hmm

03:09:41 <crschmidt> ^q select ?city ?country where (?obj dc:title "R.J. Kudler, DMD") (?obj contact:city ?city) (?obj contact:country ?country)

03:09:41 <julie> Manchester United States

03:09:42 <IsoosI> can julie automagically scutter?

03:09:45 <crschmidt> My dentist :)

03:10:01 <crschmidt> IsoosI: Automagically? No. However, she does have a scutter tool I wrote for her

03:10:08 <IsoosI> hmm

03:10:22 <IsoosI> so you can't get her to scutter all the seeAlso's in your tuplestore?

03:10:27 <crschmidt> Yes I can

03:13:14 <crschmidt> I did it just a couple days ago, actually

03:13:43 <crschmidt> didn't add much interesting data: 600,000 new triples, which shrunk down to 50,000 with smushing

03:19:14 <sh1mmer> wow

03:19:19 <sh1mmer> thats some shrinkage

03:21:32 <IsoosI> heh

03:21:40 <sh1mmer> crschmidt has morten written much up about his smushing stuff?

03:21:42 <IsoosI> the semantic web apparently is rather uh redundant

03:21:52 <crschmidt> IsoosI: Well, I'm working largely on LiveJournal data

03:21:57 <crschmidt> which is *extremely* redundant

03:21:59 <sh1mmer> ah

03:22:02 <IsoosI> ah

03:22:15 <crschmidt> lots of times, you'll see people who have groups of 12 or 13 people who all friend each other

03:22:33 <crschmidt> (which means they're all listed in each others foaf files)

03:22:37 <sh1mmer> well if you have foaf:knows foaf:person foaf:name then you get lots and lots of the same person with the same name

03:23:10 <crschmidt> for each person they know, it starts out as 4 triples: knows, rdf:type, nick, weblog

03:23:13 <crschmidt> it smushes down to 1

03:24:16 <crschmidt> so, imagine something with, say, 48 triples per file, which smushes down to 12: that means that you multiply that by 12, and get 560->140

03:24:23 <crschmidt> then realize that sometimes, these people are already in the database

07:18:50 <md-zzz> md-zzz is now known as md-afk

09:08:10 <libby> anyone around who can help with the esw wiki?

09:08:24 <libby> i.e. someone with access to the box it's running on?

09:08:38 <libby> I've just had a report that it's being over written page by page

09:08:52 <libby> I guess we can roll back but that will take time

09:10:02 <libby> mark baker's trying to keep up by the looks of it...

09:12:10 <libby> anyone remember how to revert on moinmoin?

09:12:13 <libby> :/

09:27:54 <libby> you have to log in and theen you can revert, fwiw

09:41:49 <libby> wake up americans!

09:54:43 <libby> dom is on the case - thanks dom, max, koalie!

10:12:45 <libby> dom has stopped him :) any help with http://esw.w3.org/topic/RecentChanges fixing very welcome (I'm tired!)

10:15:13 <libby> b***er I've messed up this one http://esw.w3.org/topic/Anv_e4ndarInst_e4llningar

10:17:42 <libby> heya danja, did you enjoy the workshop?

10:18:29 <danja> yep, really good

10:19:02 <danja> no time to write up right now, but am bound to link to stuff

10:19:14 <libby> excellent

10:19:28 <danja> wide & deep

10:19:53 <danja> way too much info for one day

10:20:40 <danja> have you met GiovanniT?

10:21:25 <libby> I don;t think so, not sure. was he the organiser?

10:22:24 <danja> yep, you need to get him around the world a bit!!

10:23:18 <danja> how's the Wiki?

10:24:19 * danja just seen the mess

10:25:07 <danja> where is the machine?

10:26:26 <dajobe> it's in MIT

10:31:03 <libby> nearly fixed I think

10:31:11 <libby> dom IP banned him

10:32:12 <libby> bjoern is on the case

10:33:44 * bjoern_ 's script...

10:35:35 <danbri> fixing?

10:35:54 * danbri was about to ask what the recipe was for reverting pages...

10:36:04 <danbri> i've done it via filetree before, but that can't be best way

10:37:18 <dajobe> I assume a fixing script is pretty similar to a spamming script ;)

10:38:44 <bjoern_> the script just figures out how to revert to the previous version from the page info, the rest is a manual task. spamming is simpler...

10:39:10 <libby> ah, wondered about that. nice one bjoern_

10:40:54 <bjoern_> it seems it's done.

10:40:58 <libby> yep :)

10:41:04 <libby> hooray!

10:44:19 <danbri> thanks!

10:46:32 <eaon> esw wiki?

10:46:39 <bjoern_> yup

10:51:04 <eaon> cool

10:51:20 <danja> well done folks

10:51:33 <danja> it was awful!

11:01:10 <libby> particularly nasty when we were trying to keep up with them and couldn't....

11:01:30 <libby> next time we can enlist bjoern and his script right away

11:02:33 <danja> a buzzing light sabre of a script, eh?

11:03:11 <libby> heh yeah

11:21:50 <danja>http://ifindkarma.typepad.com/relax/2004/12/microformats.html

11:21:51 <dc_swig> A: http://ifindkarma.typepad.com/relax/2004/12/microformats.html from danja

11:22:46 <danja> A:| Microformats (blog post from Adam Rifkin)

11:22:46 <dc_swig> Titled item A.

11:23:40 <danja> A: lower-case semantic web bits

11:23:41 <dc_swig> Added comment A1.

11:24:53 <danja> A: "XHTML tables are the new CSV" (!)

11:24:53 <dc_swig> Added comment A2.

11:26:06 <Talliesin> A:Some people seem to code them as if they are :(

11:26:06 <dc_swig> Added comment A3.

11:26:28 <Talliesin> A3:Some people seem to code them as if they are the old CSV :(

11:26:28 <dc_swig> Replaced comment A3.

11:35:07 <danja> ;-)

11:40:42 <Johann_> Johann_ is now known as johann_

11:41:01 <johann_> hi there

11:41:19 <Talliesin> hey

12:50:21 <bjoern_> I'd put the script online but it's too much of a hack to be generally useful...

13:16:14 <bjoern_> bjoern_ is now known as bjoern

13:21:17 <bjoern> bjoern is now known as bjoern_

13:45:07 <danbri> logger, pointer?

13:45:07 <danbri> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-14#T13-45-07

15:05:00 <RdfNinja> Hi, quick question on best practices, should I be using URN or URL's to identify my resources?

15:05:19 <RdfNinja> The primer seems to use URLs almost everywhere, but I don't really see why

15:05:36 <RdfNinja> It seems to me that URN's would even be more clear, since the http is generally meaningless

15:05:46 <RdfNinja> thoughts?

15:06:34 <jsled> please use URLs.

15:06:58 <jsled> best practice is that things with well-defined resolution procedures are better than things without.

15:07:10 <jsled> thus utility(url) > utility(urn)

15:08:26 <RdfNinja> hrm, even if there isn't anything sitting at the end of the URL?

15:08:30 <jsled> the 'http' shouldn't be meaningless.

15:08:33 <jsled> Well, that's the rub.

15:08:48 <jsled> why isn't there anything sitting at the end of the URL?

15:09:11 <RdfNinja> So we're using RDF to store data about things that have happened (e.g. messages posted to an irc chat room).

15:09:30 <RdfNinja> But the chat room is not neccessarily still in existance, and the participants aren't either

15:09:45 <jsled> loggy, pointer

15:09:50 <jsled> logger, pointer

15:09:50 <jsled> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-14#T15-09-50

15:10:33 <crschmidt> The participants are probably still in existance in one form or another, regardless of whether they're active on the network.

15:10:39 <RdfNinja> sure

15:10:44 <RdfNinja> they definatly still exist

15:10:53 <RdfNinja> but their nicks etc might have changed

15:11:07 <RdfNinja> so identifying them as some sort of "reachable" resource is a bit misleading

15:11:38 <crschmidt> Identifying me as http://crschmidt.net/foaf.rdf#crschmidt will never be inaccurate.

15:11:44 <RdfNinja> since you can't just whip a file up that describes them

15:11:52 <crschmidt> Identifying me as irc://irc.freenode.net/crschmidt,isnick maybe

15:12:30 <crschmidt> But that's just a case of where you need to store more information about who that is: That information, on its own, isn't enough to uniquely identify a person. However, "The person logged in and identified with nickserv at time $foo as $nick" may be

15:12:56 <jsled> RdfNinja: yeah, it can be hard to find the One True URL for some things.

15:13:10 <jsled> RdfNinja: But don't try to do that.

15:13:17 <RdfNinja> so we do store some of this (e.g. time they logged on)

15:14:16 <RdfNinja> It just seems really clunky in my data to have all of these URLs that point to nothing

15:14:38 <RdfNinja> For instance, we have one that identifies each message uniquely as well

15:14:39 <jsled> Reference-by-description is pretty good; document-local identifiers are good. But I'd argue that an HTTP uri that has a chance of being redirected/content-negotiated/&c. is better than a urn that doesn't, generally.

15:14:50 <jsled> RdfNinja: example?

15:15:25 <RdfNinja> For example:

15:15:27 <RdfNinja> <http://cs.usask.ca/mums/chat/message#35369aa3-3c21-4a77-8436-cf7ec1b9a5d0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://cs.usask.ca/mums/schemas/chat#MessageSentEvent> .

15:16:19 <RdfNinja> I suppose we could add the ability to resolve the first to url to an actual message content (or statements about the message?), but we don't now

15:16:33 <jsled> true.

15:17:34 <jsled> In the mean time clients will get a 404; if things do resolve in the future, then they'll resolve.

15:17:40 <jsled> But it'll never get _worse_ than a 404.

15:17:52 <crschmidt> RdfNinja: Hm, I can't resolve cs.usask.ca at the moment: Is the schema available elsewhere?

15:18:07 <crschmidt> I ask because I'm working on what seems like it might be a similar schema for IRC events (see http://crschmidt.net/irc#)

15:18:10 <RdfNinja> No, we don't have the schema there yet :)

15:18:15 <crschmidt> ah

15:18:27 <RdfNinja> In fact, neither of those urls will give you a non 404

15:18:46 <crschmidt> Well, right now I can't even get to the host :)

15:19:09 <RdfNinja> hrm :)

15:19:45 <RdfNinja> ah, yea, it's not running the websever, the machine should exist

15:19:59 <RdfNinja> we're in some pretty rough stages right now of setting the schemas up

15:20:10 <LotR> crschmidt: did you mean to post an url to an image there?

15:20:18 <crschmidt> argh

15:20:23 <crschmidt>http://crschmidt.net/ns/irc#

15:20:23 <dc_swig> B: http://crschmidt.net/ns/irc# from crschmidt

15:20:30 <crschmidt> B:| Experimental IRC namespace

15:20:31 <dc_swig> Titled item B.

15:20:42 <crschmidt> B: Still in development; looking for some feedback at the moment

15:20:42 <dc_swig> Added comment B1.

15:21:00 <crschmidt> B: Primarily created for use with lorebot, to generate RDF/XML output from the input that it has

15:21:01 <dc_swig> Added comment B2.

15:21:07 <jsled> nice.

15:21:19 <RdfNinja> indeed...

15:21:36 <crschmidt> B: Primarily created by Daniel O'Conner (clockwerx), with minor nitpickings from me

15:21:36 <dc_swig> Added comment B3.

15:21:56 <crschmidt> B: Based on the IRC RFC (Despite the fact that many servers violate it in one way or another)

15:21:56 <dc_swig> Added comment B4.

15:21:57 <LotR> crschmidt: I'm missing network

15:22:12 <LotR> oh wait, I didn't look right

15:22:14 <LotR> sorry

15:23:21 <jsled> hmm. At least as cwm translates it into n3, there's a confusion between <http://crschmidt.net/ns/irc#> and <#> in some definitions.

15:23:54 <crschmidt> jsled: yeah, it's still definitely a work in progress

15:24:09 <jsled> B: Does an IRC Client really have foaf:Agen[cy]?

15:24:09 <dc_swig> Added comment B5.

15:24:10 <crschmidt> I haven't run it through an RDF parser yet

15:25:00 <jsled> B: I guess as described, yes. But the description for a "Client", here, runs a bit counter to the normal use of "irc client".

15:25:00 <dc_swig> Added comment B6.

15:25:23 <jsled> B: Maybe that's all just in my head, however, and I should consider an IRC Client an IRC User Agent. :p

15:25:24 <dc_swig> Added comment B7.

15:26:42 <crschmidt> I believe the rdfs:comments are stolen directly from the RFC

15:27:04 <crschmidt> Or rather, many of them

15:28:46 <LotR> do you consider services to always be servers? or have they just been omitted (for now)

15:29:10 <crschmidt> They've been ommitted for now

15:29:17 <crschmidt> In part because they're totally different on pretty much every server ;)I

15:29:35 <LotR> network :)

15:29:59 <crschmidt> yeah, yeah

15:30:08 <crschmidt> go ahead, be semantic ;)

15:30:34 <LotR> imho, network is more important than server for irc

15:30:41 <LotR> s/for irc// ?

15:30:56 <crschmidt> Yeah, it is

15:35:08 <crschmidt> But to actually be able to describe the network, servers can be important too, which is why they're included in the schema

15:35:11 <LotR> hi libby

15:35:38 <LotR> sure, no network without any servers :)

15:35:44 <libby> hey lotr, how's it going?

15:36:17 <LotR> I'm good

15:38:40 <libby> good-o :)

15:38:51 <LotR> yourself?

15:52:47 <libby> not bad thanks. writin' reports....

16:07:41 <johann_> hmm may be this is a silly question, but is there any way to work with rdf:Bag with current query langages (actually I m using seRQL)?

16:32:03 <DanC> not a silly question at all, johann_ .

16:32:24 <libby> I would think so johann_ ... when I implemented it in my rubbish query implementation I didn;t bother and just used a blank predicate in queries. But I'm pretty sure Jena does it properly (maybe with RDFS suppport using collection? not sure) and probbaly serql too

16:32:32 <DanC> N3 has no special support for rdf:Bag, but no special non-support either

16:33:17 <DanC> the relevant DAWG issue is very much open. http://www.w3.org/2001/sw/DataAccess/issues#accessingCollections

16:33:25 * crschmidt isn't sure how bags or seqs are supposed to work in RDQL

16:33:47 <libby> hm, no jeen

16:35:31 <johann_> well it seems that I could handle that using inferencing and rdfs:member

16:35:52 <timbl> I did think of putting log;in as a built-in in cwm. (maybe that should be rdfs:member?) for collections

16:42:37 <DanC> not only did you think about it, you documented it, timbl.

16:42:44 <DanC> I haven't checked whether it's tested

16:43:14 <DanC> list:in is documented in http://www.w3.org/2000/10/swap/doc/CwmBuiltins

16:44:19 <DanC> simonR sent a really nifty design for built-ins http://lists.w3.org/Archives/Public/public-rdf-dawg/2004OctDec/0469.html

16:44:58 <johann_> the "in" operator seems to be on the wish list of the seRQL working team

16:46:47 <timbl> That doc is generated from the ontology. But the ontology isn't generated from the code (or vice-versa).

16:47:22 <DanC> I did see some code for it, I think...

16:47:57 <DanC> yeah... BI_in in http://www.w3.org/2000/10/swap/cwm_list.py

16:48:27 <timbl> Ah, I think I started to implemnt it and then realized I didn't have a built-in interface to allow one to return multiple bindings, and then I implemented that (FiniteProperty) but looking at the code I don't think I finished.

16:48:32 <DanC> including implicit RFE: "Thsi is a wimpy implementation, because the built-in

16:48:32 <DanC> system can only return single values right now"

16:48:49 <timbl> I wanted os:argv to be a finite property.

16:49:46 <timbl> Ah, maybe it is a quick fix.

16:50:19 <DanC> hmm... ListOperationsNamespace = "http://www.w3.org/2000/10/swap/list#"

16:50:45 <DanC> didn't reuse rdf:first, rdf:rest (nor rdfs:member)

16:54:08 * timbl that looks like all the code needs ... not checked in or tested or anythin g ...

16:54:25 <timbl> but now i am distraced by ericp who has arived to talk about grammar, n3 and sparql

17:03:26 <ericP> and plumbing

17:04:00 <jsled> got a leaky faucet, there?

17:05:32 * timbl 's plumber tried to convince him that it takes more energy to turn the heating system off for a while and have it come up to speed than to leave it on.

17:09:58 <yosi> built-ins in cwm can now return lists

17:10:26 <yosi> I added that ability in late July I think

17:15:49 <DanC> hmmm... imports in cwm_list.py don't have the swap. prefix

17:16:32 <DanC> nor cwm_os.py

17:16:49 * DanC thought everything had to use import swap.diag etc.

17:27:26 <yosi> things inside of the package don't need it

17:29:17 <DanC> is that typical for python packages? or is there some special setup for swap?

17:31:53 <yosi> the current directory is always in the search path for mudules

17:32:25 <DanC> the current directory of the process? or the directory containing the module?

17:32:33 <yosi> the latter

17:32:45 <tlr> good. Current dir of the process would be a security flaw.

17:32:48 <DanC> i see. hmm... I'm still learning python, I guess

17:34:21 <DanC> hmm... http://docs.python.org/ref/import.html doesn't seem to explain this...

18:58:21 * timbl 's plumber tried to convince him that it takes more energy to turn the heating system off for a while and have it come up to speed than to leave it on.

18:58:43 <Talliesin> That could be true, depending on how long and how its set.

18:59:03 <Talliesin> And the quality of insulation.

18:59:08 <timbl> Why?

18:59:29 <timbl> Think about the amount of heat which leaves the house.

18:59:44 <timbl> In the first case, the house gets colder.

18:59:49 <Talliesin> I'm not 100% on that. I had was once dragged through a proof of this by a civil engineer who I'd gotten myself into a nerdly deadlock with.

19:00:19 <timbl> You're not 100% on which bit?

19:00:33 <timbl> That the house gets colder if you turn the heating off?

19:01:13 <Talliesin> I'm not 100% on the reason why.

19:01:30 <Talliesin> Lag between you asking "Why?" and my reply.

19:02:44 <timbl> If you heat a house, it gets hotter. If a house is hotter, then more heat leave it. The total mount of heat you put in is equal to the total amount of heat which leaves.

19:03:37 <Talliesin> That's what I said. Then he did maths I didn't understand. Then I conceded defeat.

19:03:40 <crschmidt> Unless heating the house is a non-linear equation of some sort?

19:04:15 <crschmidt> If heating a house from 50->70 degrees is more difficult than heating a house from 65->70, perhaps?

19:04:55 <timbl> irrelevant.

19:07:02 <timbl> If at the end of the time, you put the thermostat back to where it was, then the temp will go up to where it would have been, taking lots of energy, but not more than you would have spent keeping the temp up, as in total less heat will have left the house.

19:24:26 <Mklow> hi all

20:46:03 <dngor> You don't just heat the air. You also heat the walls.

20:49:15 <JibberJim> but how does that change the heat loss in the system?

20:53:42 <Wack> the thermostat/heater feedback is not 100%; for it to increase the temperature to a certain level it will burn too long thus being less efficient (usually spikes over the temperature you set on the thermostat)

20:55:13 <Wack> if you keep the heating on, it wont spike as much?

20:55:44 <jsled> naw, unless the feedback loop has some crazy delay in it.

20:55:58 <Wack> it does; heating a house takes quite some time ;)

20:56:23 <jsled> except it doesn't decide how long to burn at the outset.

20:57:33 <JibberJim> aren't we missing the assumption that all these arguments are only relevant if the temp of the house never gets to the temp of the outside.

20:58:01 <JibberJim> as I think that's a pretty key assumption on the two being equal.

21:03:20 <sh1mmer> evening

21:03:46 <crschmidt> howdy

21:03:57 <sh1mmer> how's Chris?

21:04:24 <crschmidt> Cranky.

21:04:32 <crschmidt> Too much work, too little time.

21:04:43 <sh1mmer> have a mince pie

21:04:43 <crschmidt> I did just evangalize on RDF for about 15 minutes in #geo on oftc.net

21:05:09 <crschmidt> Can't really chew right now, which is another reason I'm cranky. Thought it was a canker sore, but now I'm afraid that my impacted wisdom tooth may be causing a problem :/

21:05:19 <sh1mmer> :(

21:05:37 <sh1mmer> wisdom teeth suck.

21:07:22 <dviner> hi all, i'm trying to do a simple rdf/rdfs sample to get myself into the world of semantic web stuff... but i'm having some trouble.

21:07:44 <dviner> i want to make a simple "ontology" (using that term loosely) with information relating to movies.

21:07:45 <crschmidt> We're here to help.

21:07:53 <crschmidt> Or rather, these other people are. I just watch most of the time.

21:08:05 <dngor> Well, yeah. If the inside temperature matches outside, you start saving money.

21:08:15 <dviner> so, i made a Person class, which is a subClassOf Resource. and that Person class has a Name property.

21:08:39 <dviner> now i'd like to represent the fact that a person can be a director of a movie.

21:08:56 <crschmidt> Can be, or is?

21:09:08 <crschmidt> oh, can be, got it

21:09:15 <dviner> so, i think i need a movie class.

21:09:59 <dviner> "director" seems to me to be a relationship between a person and a movie... it's what "role" the person does

21:10:08 <dviner> just like a "producer" is a

21:10:08 <crschmidt> Sounds right.

21:10:10 <dviner> "role"

21:10:29 <kpreid> so 'director' would be a Property

21:11:27 <dviner> and the rdfs:domain of director is Movie, and the rdfs:range is Person?

21:11:33 <kpreid> yes

21:12:07 <dviner> ok. ..

21:12:37 <kpreid> and perhaps 'director' rdfs:subPropertyOf 'involvedInTheMakingOf'

21:12:43 <dviner> is there a way to "group" properties together? for example, "director" (or "directs") is quite similar to "producer" (or "produces")

21:13:02 <kpreid> not other than making them both subproperties of a common property

21:13:03 <dviner> ah... subPropertyOf... that must be the way to group properties together?

21:13:07 <dviner> very cool.

21:13:15 <kpreid> it's not exactly a group

21:13:35 <dviner> what is it then?

21:13:49 <kpreid> writing that, technically, only means "if someone directed a movie, they were involved in the making of it"

21:14:12 <kpreid> er, ", then they"

21:14:23 <kpreid> but that's certainly true, and it's appropriate

21:15:19 <dviner> i think i see what you mean

21:16:55 <kpreid> and if you later find out someone's made a "grouping/categorization of properties and classes" vocabulary, you can start using it

21:17:13 <kpreid> (in addition)

21:18:03 <dviner> very cool.

21:18:07 <crschmidt> dviner: also, if you're not aware of it, the FOAF ontology does pretty well at desscribing people

21:18:10 <crschmidt> .g FOAF

21:18:12 <phenny> FOAF: http://www.foaf-project.org/

21:18:13 <dviner> fwiw - this is really cool stuff.

21:18:13 <dc_swig> Label FOAF not found.

21:18:27 <crschmidt> vocab spec is at:

21:18:29 <crschmidt> ^ns foaf

21:18:30 <julie> The URL for the foaf namespace is http://xmlns.com/foaf/0.1/

21:19:10 <kpreid> dviner: so you can use FOAF properties to name and identify the people who are related to movies described with your ontology

21:19:52 <kpreid> dviner: and you may want to use the foaf:Person class instead of making your own. or simply declare them equivalent. or make yours a subClassOf foaf:Person

21:20:25 <JibberJim> hmm, but what about when bots start directing movies?

21:20:41 <kpreid> there is that

21:20:52 <crschmidt> then we all flee for our lives, for the matrix is here

21:21:21 <JibberJim> you don't have to watch the movie crschmidt, you're not actually forced too...

21:21:24 <kpreid> dviner: in fact, you shouldn't use Person as a range/domain for your properties, but foaf:Agent

21:21:37 <kpreid> dviner: as JibberJim just pointed out.

21:21:53 <JibberJim> really? I wasn't serious, I think a director has to be a Person doesn't it?

21:22:05 <crschmidt> could be an organization?

21:22:41 <kpreid> dviner: so you have to think about what assumptions you make in your ontology.

21:23:03 <kpreid> dviner: such as whether only a Person (whatever that is) can ever be the director of a movie.

21:23:04 <dviner> i think, even when org.s produce movies, they always credit one or more people with it.

21:23:20 <dviner> but, that's an excellent point.

21:23:43 <dviner> what are the ramifications of changing the ontology after releasing it?

21:23:51 <RdfNinja_> ?

21:23:55 <RdfNinja_> RdfNinja_ is now known as RdfNinja

21:24:11 <crschmidt> Depends on how widely deployed you are, and the changes you make

21:24:56 <kpreid> dviner: for example, widening the domain or range of a property is *completely* backwards-compatible, but narrowing it isn't necessarily

21:25:34 <JibberJim> ah yes, a foaf:Group could direct a movie...

21:25:43 <kpreid> dviner: adding a property or class is no problem. deleting one could be, in that the hypothetical automated reasoner might be less useful afterward.

21:26:02 <dviner> ok... so that's relatively similar to traditional object-oriented programming.

21:26:25 <kpreid> dviner: but realize that your document describing the ontology is *not* required, nor assumed to be complete.

21:26:48 <kpreid> dviner: RDF systems can work perfectly well with no such document.

21:26:50 <dviner> what about shifting around the "hierarchies"? e.g., saying Person now is subClassOf foaf:person or foaf:agent.

21:27:15 <kpreid> dviner: (but, of course, they then have less information to work with)

21:59:11 <dviner> interesting... after searching around on yahoo some more, i found this: http://www.csd.abdn.ac.uk/~ggrimnes/dev/imdb/IMDB.rdfs

21:59:27 <dviner> which appears to do what i'm thinking of... movies rdfs definition...

21:59:58 <dviner> and he even incorporates foaf, unlike the common movie example of http://139.91.183.30:9090/RDF/VRP/Examples/imdb.rdf

22:00:13 <jsled> cool

22:01:43 <jsled> although the ontology in the latter seems more rich

22:02:07 <dviner> definitelyu

22:02:33 <dviner> i suspect the first was an attempt (perhaps aborted) to incoporate foaf into the latter.

22:13:08 * danbri wanders past

22:13:15 <danbri> IMDB aren't very friendly w.r.t. data re-use

22:13:17 * crschmidt waves at danbri.

22:13:30 <danbri> I'd suggest using MusicBrainz as a starting point instead, extending for movies etc...

22:13:31 <danbri> hi

22:13:57 <dviner> danbri: i'm not familiar w/ music brainz

22:14:10 <dviner> url?

22:14:12 <crschmidt> .g musicbrainz

22:14:15 <phenny> musicbrainz: http://www.musicbrainz.org/

22:17:28 <sh1mmer> y0

22:17:43 <sh1mmer> so I just had an interesting conversation

22:17:54 <sh1mmer> danbri mind if I pick your brains

22:18:41 <danbri> some folks hereabouts (and #foaf) been working towards a proper scheme

22:19:02 <danbri> er schema. ldodds, leo and others, not sure if they're properly aware of each other's efforts yet tho

22:19:04 <sh1mmer> well, I was looking for an extentsional collection

22:19:21 <danbri> sh1mmer, not tonight sorry! downtime looms...

22:19:25 <sh1mmer> danbri eaon was working on something

22:19:26 <danbri> extensional collection?

22:19:29 <sh1mmer> danbri okie dokie

22:19:57 <sh1mmer> danbri well if you have a collection like a bag, two bags with the same elements are not the same bag

22:20:12 <sh1mmer> two extensional collections with the same elements are the same

22:20:42 * sh1mmer writing a paper for ECSW

22:21:11 <danbri> do it with classes and OWL, if you really have to

22:21:18 <danbri> Bags are worth ignoring

22:21:23 <sh1mmer> yeah

22:21:32 <sh1mmer> I don't want a list though, I want something unordered.

22:21:43 <danbri> class membership is unordered

22:22:20 <sh1mmer> Joe (arnia) has suggested I define an ontology for Mereology. So I could have mer:ExtensionalCollection

22:24:27 <danbri> Cyc I think has detailed treatment of that stuff

22:24:36 <sh1mmer> hmm ok.

22:24:48 <danbri> xyz:merology xyz:partOf xyz:CanOfWorms

22:24:51 <danbri> enjoy

22:25:05 <sh1mmer> thx

22:44:24 <CorpDog> Hey all, any pointers for best practices using equivalentClass and intersectionOf?

22:48:13 <CorpDog> Why use equivalentClass with an anonmymous intersection when you can create the same class using just a named intersection? Is equivalentClass used more for merging distinct ontologies?

22:49:46 <bengee> s/merging/mapping/ yes

22:53:48 <bengee> can also nicely be used for inferred class membership (i.e. equivalentClass + owl:Restriction)

22:56:07 <bengee> err "e.g." instead of "i.e."

22:58:53 <CorpDog> The latter item (restriction) is what I am asking.

22:59:42 <CorpDog> Why use an equivalentClass + Restriction when you can reach the same membership with an intersection?

22:59:53 <CorpDog> Or am I missing something fundamental?

23:03:14 <jsled> CorpDog: http://www.w3.org/TR/swbp-specified-values/ covers some of this ground, I think.

23:03:36 <CorpDog> Hmm, I think I just partially answered my own question.

23:04:04 <bengee> not sure if I understand your question, you can mix them (almost) arbitrarily. equivalentClass allows you to "map" two class descriptions, intersectionOf "groups" multiple class descriptions, Restriction "is" a class description

23:04:15 <CorpDog> Thanks, jsled. I printed this out yesterday, so I'll look at it in more depth.

23:04:28 <CorpDog> bengee: you can mix them (almost) arbitrarily

23:04:48 <CorpDog> This is what I am trying to grasp.

23:05:24 <CorpDog> I have just seen several examples where an equivalentClass is used instead of an intersection.

23:05:42 <CorpDog> So, just trying to see if there is some good reason for that.

23:08:10 <jsled> CorpDog: do you have an example?

23:08:28 <CorpDog> Haha, thought you'd ask that.

23:08:35 <CorpDog> No, not immediately.

23:08:48 <CorpDog> Just came up in some conversations.

23:08:53 <CorpDog> Let me dig around...

23:15:18 <CorpDog> Okay. In section 3.2.3 of the OWL Reference, equivalentClass not used. Why (or when) would you use equivalentClass as a link between a type 1 and a type 2 class description when 3.2.3 shows you don't need to use that construct?

23:20:55 * CorpDog sighs...

23:20:57 <bengee> 3.2.3 describes a *single* (complete) class description. you usually use equiv when you want to map *two* classes that are described elsewhere

23:20:58 <CorpDog> Gotta run.

23:21:20 <CorpDog> Hmm

23:21:40 <bengee> (not neccessarily described elsewhere, but that's often the case)

23:22:13 <CorpDog> Thanks, I'll be on tomorrow, I'll look for you then.

23:33:26 * bengee will probably be the one to need help tomorrow. review-day with project presentation and not a single triple in my rdf store yet..


The IRC chat here was automatically logged without editing and contains content written by the chat participants identified by their IRC nick. No other identity is recorded.

Alternate versions: RDF Resource Description Framework Metadata and Text

Provided by Dave Beckett. Hosted by Useful Information Company.