This is a public chat log generated from the #semsol IRC channel.
06:48:00
rabur, no the boolean syntax is only for within FILTERs
06:48:26
you could use a UNION or perhaps OPTIONAL
07:17:45
bengee_ reading logs, seeing kwijibo doing great support work :)
07:28:21
Rabur, it could indeed be some utf8 thing, the filter syntax is fine
07:29:41
arc support utf8 as far as php lets it, though, so I'm not sure why it's failing. It usually doesn't have problems with utf-8 chars
07:36:55
I get the same error when I try it against the IRC log endpoint (which is a rather old and restricted php4), but it is accepted on my local installation (php4 with multi-byte extensions)
07:37:49
the sparql parser doesn't rely on mb_*, though, maybe it's something else in php that was improved during the newer releases
08:07:29
morning bengee
08:11:11
heya
12:16:08
hi everyone, first visit, listening in for now.. thanks for the arclib, just started using it.
12:16:33
bengee waves to kzme
12:16:55
;-)
13:42:42
kwijibo, bengee: thx for answers :)
13:43:09
np
13:49:02
newbie q coming up ;-) : im trying to add triples to the store, but can't figure out the syntax..
13:49:10
im using: INSERT INTO <http://www.domain.tld/organizations> {<#orgname> <http://namespace.tld/projects> "projectX". }
13:49:27
but get an error: do i need to add a graph fisrt?
13:53:17
correction : not an error, just that no triples are added. I suspect that's because the uri after INTO isn't available yet.
14:01:28
not sure, but maybe it's because <#orgname> isn't a full uri ?
14:01:55
kwijibo not sure if arc would try to resolve that frag id into a uri
14:02:40
thnx ... i'll do some further testing now
14:08:22
that was it thnx very much (i tried solving this myself for two hours)
14:12:12
hmm, maybe I should add support for that to the parser, INTO could be considered as an implicit BASE
14:15:33
i tried adding graphs independently : using CREATE GRAPH <uri> followed by the insert into... it seemed logical, but alas
14:33:01
no such thing as CREATE GRAPH is there?
14:33:31
a graph can't exist independently afaik
14:33:59
since it is (logically) a component of a statement
14:34:01
it can in Jena/ARQ. SPARUL has CREATE GRAPH
14:34:43
ah right, I stand corrected then :)
14:34:57
not sure if it woul be meaningfull to have graphs with no triples
14:34:58
but I preferred the "a triple exists once you write s, p, and o" and went for "a graph exists once you write g, s, p, o"
14:35:16
it felt more RDF-y
14:35:23
yeah
14:35:43
"a resource exists once you use it in a triple" etc
14:35:58
tha talis stores can have empty graphs so far, but that may change when we have user-definable named graphs
14:36:07
*the
14:37:09
but, on the other hand, it might seem useful when you can only add tripples to existing graphs, it might provide better managed data?
15:01:00
Is there posibility to make in sparql sth like this: FILTER(?key LIKE '%something%' )
15:01:05
I mean, like in MySQL
15:01:25
REGEX(?key, "something")
15:01:46
Ok :)
15:01:50
filter(regex(str(?var), "something") )
15:02:05
bengee: ear worm?
15:02:12
heh
15:02:28
the closest I can think of is 'catchy tune'
15:02:47
yeah, that's what the dict suggests, too
15:03:05
ohrwurm is better :)
15:06:30
Rabur, for case-insensitive matching, you can do filter(regex(str(?var), "something", "i") )
15:07:09
bengee wonders why he didn't keep ARC1's "rewrite to LIKE if possible"
15:08:08
str(?var) <--- what does it do ?
15:08:17
i mean str() function
15:08:22
make sure that ?var is treated as a string
15:08:39
e.g. when ?var is typed as URI
15:08:52
Hehe, i want to search in URIs too :)
15:09:16
some systems throw an error when you do string operations (like regex) on non-strings
15:09:43
ARC doesn't care, but it doesn't hurt to keep the str() for compatibility reasons
15:10:12
Is URI string in ARC too ?
15:11:19
on the SQL level, the comparisons are done on the field value level, and those are stored as text in MySQL
15:13:43
Ok, thx very much then :)
15:23:34
bengee: assuming that you're the original author of arc,..i've been following the progress of arc for a while, but choose rdf-api in the past
15:23:54
could you elaborate on the diffs between arc and rdf-api /powl etc?
15:24:31
just wondering
15:24:48
[Is there any way to make this: FILTER(?key = 'Plato') case-insensitive?]
15:25:42
arc started as small, stand-alone classes, as an alternative to RAP's rather large codebase
15:26:50
and for environments with limited resources (low memeory etc)
15:27:37
many people also found the $statement = new (new Subject(), new Predicate(), new Object()) pattern a bit too clumsy and resource-hungry
15:27:50
well, I did, at least ;)
15:28:01
mm yes... i like it ;-)
15:28:49
arc i mean
15:29:11
arc has now evolved into a more integrated toolkit, so some of the initial motivations sort of faded out, but I'm currently revisiting the idea of providing small, stand-alone classes, too
15:29:15
thx :)
15:29:44
I am really newbie in the SW, but i like it a lot ARC bcoz it can be used by ppl like me, using only php i can learn basics of the SW :)
15:29:45
Rabur, there are MySQL extensions available in ARC
15:29:47
i building adesktop app with it, using php gtk+
15:30:00
things like lowercase()
15:30:15
kzme, oh, interesting
15:30:51
yes... i want to have an app that can both interact with the local system as well as servers
15:31:29
I spent a lot of time on developing db structure that could store larger amounts of triples compared to RAP's db schema
15:31:55
*a* db structure
15:32:19
RAP has many more features, compared to ARC
15:32:20
yes, that's a real challenge: limit the number of queries
15:32:58
ARC's current focus is on making things easy, even for people who don't know to much about RDF and SPARQL
15:33:20
Sorry, for asking a lot ... but i have another question :F is there in ARC in sparql queries sth like DISTINCT ?
15:33:33
yes
15:33:45
agree, that IS the challenge: make rdf useful on a everymans level
15:33:46
SPARQL supports LIMIT 10
15:34:16
bengee: How to make DISTINCT
15:34:20
SELECT ?foo WHERE {...} LIMIT 10 ORDER BY DESC(?bar)
15:34:24
This query show errors: SELECT ?property ?uri DISTINCT ?hasValue
15:34:26
WHERE {
15:34:27
{ ?uri ?property1 ?key .
15:34:28
?uri ?property ?hasValue .
15:34:29
}
15:34:31
FILTER(REGEX(?key, 'Plato', 'i') && LANG(?key)='en')
15:34:32
}
15:34:56
SPARQL has only one global DISTINCT, to be put directly after the SELECT
15:35:14
i'm a bit frustrated though with the uptake of rdf.... it seems it lacks good inbetween layers
15:35:58
bengee: Ohhh, ok, thanks, it's workin now :)
15:36:05
yay
16:17:06
bengee: anyone written an in-mem sparql engine for arc yet?
16:34:25
heh, interested?
16:34:37
there is non yet
16:34:43
none
16:35:19
yeah, interested
16:36:01
wondering how difficult it is on a scale of 1 to 10
16:38:25
basic patterns are pretty straight-forward, but then it gets nasty rather quickly, I guess (optional-dependencies etc)
16:39:47
on the other hand, if you walk along the query structure, maybe it's easier than it looks
16:40:28
yeah - maybe the pain points are different when it's im memoy instead of sql generation
16:40:29
nested optionals would just be applied to "what's still there from the parent optional"
16:41:01
your index utils could be very handy here
16:41:29
yeah - I was imaginging starting at the top of the structure, and each triple constraining the dataset further
16:42:31
I want it for my templating stuff
16:42:44
I could use it in a lot of places, too
16:43:53
if youre realy going for it, I'd suggest creating a class that's similar o the Store class
16:44:49
exposing the same API, or following the same code flow?
16:44:58
more API-wise
16:46:14
like $store = new ARC2_MemoryStore(...); $rows = $store->query('SELECT ...', 'rows')
16:49:30
yeah, makes sense
17:28:29
kwijibo, http://bnode.org/blog/2008/03/31/new-arc2-plugins
17:29:22
bengee should really send out t-shirts instead of blog posts
17:29:26
wow, fame
17:29:31
ta bengee
17:29:40
thank *you* :)
18:35:44
what's it actually selling for? this one has been Most Recommended for a while -- http://www.amazon.com/gp/product/B00007KDVI/
18:35:50
whoops. not here.
18:36:00
heh
