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:
and
Text
Provided by Dave Beckett. Hosted by Useful Information Company.