Re: RDFa API comments from TimBL

On Oct 5, 2010, at 16:52 , Nathan wrote:

> Ivan Herman wrote:
>> Nathan,
>> can you tell me what exactly the IndexedFormula and the IndexedDataStore does?
> 
> It would only require IndexedDataStore, which would/could add the following new functionality (Tim if you have anything specific I've missed please do say):
> 
> indexed access to the triple as subject[predicate][object],

I have no idea how complicated that is in Javascript. But I can see the value. Would subject[predicate] give back an array of possible objects?

> and also indexes for each s/p/o `for( triple in store.subjects[subject] )` or via methods
> 

I am not sure I understand that.

> ability to remove triples
> 

With my RDFLib background: of course. But I really wonder whether we are not going beyond the RDFa API level here. That was what I said in my previous mail...

> each(s,p,o) where given any two arguments, returns an array of the third, so given each(":me", "foaf:knows", null) would return back an array objects / URIs.

Isn't it true that the current gives you that and more already? Isn't it what the pattern in filter does? Although the syntax is indeed a little bit convoluted; my RDFLib instinct would ask for something simpler like that.

> - any() which is the same as above but returns the first match (existential)
> 

right

> support smushing

meaning?


> , adds method to check if two uris are the "same thing",

same as equality of strings? or equality of URIs?


> adds method to get all uri's by which a thing is known by
> 

Meaning?

> registerPropertyAction, this registers a function which is run against all triples which have a certain property - may not sound much but it's a highly versatile and efficient way of programming.
> 

Ah. That is a combination of forEach with an extra filter I guess...


> In addition, it adds a few easy access methods such as add(s,p,o) where each property is a string and
> 
> statementsMatching(s,p,o), which returns all statements matching a pattern (where each of s,p,o are optional and are strings)

sound like the query

> - anyStatementMatching() which is the same as above but returns the first match (existential)
> 
> I'd be more than happy to put together something more solid in IDL with notes if you like.
> 

So, on a cursory look, what this shows me is that the difference between those methods and the current ones are not fundamentally different. So what would be good is to reconcile these two, rather than creating a separate one...

Thanks!

Ivan



> Best,
> 
> Nathan
> 


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Tuesday, 5 October 2010 15:28:52 UTC