Re: Enterprise level RDF Scripting ( was: [foaf-protocols] foaf classes for primary Topic )

2010-02-01 Thread Story Henry

On 1 Feb 2010, at 15:08, Aldo Bucchi wrote:

> Hi,
> 
> On Mon, Feb 1, 2010 at 9:11 AM, Story Henry  wrote:
>> 
>> On 31 Jan 2010, at 17:25, Peter Williams wrote:
>> 
>>> Let's build that linq2rdfa driver! It’s the killer app for the semweb, in
>>> Microsoft land.
> 
> Cool!
> This topic is coming up again ;)
> 
>> 
>> I agreee. From the Java perspective this is very much what I found too.
>> 
>> When I first learned RDF I was really intrigued about how it related to 
>> Object Oriented Programming, which I was familiar with. So I tried to write 
>> a mapper for it to Java, which to my astonishment was really a lot easier 
>> than I thought. This really helped me understand how OO programming and the 
>> semantic web mesh together. Having these tools for run of the mill 
>> programmers is really important as Peter points out to get them to overcome 
>> the fear of the new: by bringing the semweb back to something they know. 
>> This thought is what led me to develop the Sommer library:
>> 
>>   https://sommer.dev.java.net/sommer/index.html
>> 
>> Doin this made it clear that really the major difference is that we name 
>> things and fields with URIs.
>> 
>> The next difference is that of Graphs, which is a little more difficult to 
>> merge correctly into OO languages (or for that matter most traditional 
>> programming languages).
>> 
>> Still before tools such as Hibernate and such for Java came out, people 
>> worked with SQL directly. So people went on a long time with this pain 
>> point... To start off we need really good examples of the usage of RDF. And 
>> I think foaf+ssl is that key driver, because it has the ability to give 
>> people access to things they would not otherwise have had access to: eg: 
>> going to a party.
> 
> Henry:
> Here's an idea. Instead of trying to bake this cake by ourselves, can
> you tap into Martin Odersky's team and propose some use cases? I could
> help with that if you get his attention.
> He's the guy behind Scala and they are on a rampage these days.

Yes, I have played a little with Scala. It should be easy to fit in. I think 
some initial work may even have been done by the Elmo folks. 
http://openrdf.org/ .


> 
> Now. Even w/o tweaking the compiler or the grammar to support URIs,
> the DSL capabilities of Scala make it possible to do beautiful things:
> http://code.google.com/p/scardf/

yes, that is interesting... Thanks for the pointer.

> 
> That project is a good start but there are still some issues to address.
> 
> I have my own experimental framework but, just as you describe, N1
> issue is native type integration and we should explore this at a lower
> level. If we could just get native URIs / XSD datatypes things would
> be awesome.

yes, and one should not get stuck with xsd data types. I think in fact that is 
a problem with many frameworks is that they are stuck into not allowing 
datatpes as subjects for example. 

"123"^^xsd:int .

is very similar to 

[ xsd:int "123" ].

which in N3 can be written.

"123"^xsd:int .



> 
> Then, Number 2 is graph traversal which can be solved by having some
> sort of path language baked in, ( which is compiled to a single query
> underneath instead of being evaluated step by step via API, which is
> the case in scardf ) .

sounds interesting.

> 
> Number 3 is datasource management. Tying up a datasource as an
> implicit value or bound to a thread. Nothing new under the Sun here (
> pun intended ) ;)
> This is where things get interesting as the datasource could actually
> be a full blown Linked Data client such as Virtuoso with Spongers
> turned on.

you mean something like tying to a graph or a virtual graph?

> 
> Finally. My initial look at the Scala grammar suggests that we should
> be able to fit in URIs. There is support for XML literals and URIs are
> easily recognizable as they have a strict syntax. Qnames could also
> happen.

Language support would be great. I want to use Scala more myself. Though I have 
been in the last year moving towards email as my every day tool. Need to get 
back to programming a little bit... 

I'd be happy to support an effort such as this. I'll see how much time I have 
though... It depends how much time I end up spending programming again.

Henry

> 
> Regards,
> A
> 
>> 
>>Henry
>> 
> 
> -- 
> Aldo Bucchi
> skype:aldo.bucchi
> http://www.univrz.com/
> http://aldobucchi.com/




Re: Fresnel: State of the Art?

2010-02-01 Thread Sergio Fernandez
Probably you'd find interesting these two approaches based on mix SPARQL
with XML technologies:

Waseem Akhtar, Jacek Kopecky, Thomas Krennwallner and Axel
Polleres. XSPARQL: Traveling between the XML and RDF worlds –
and avoiding the XSLT pilgrimage. In Proceedings of the 5th
European Semantic Web Conference (ESWC2008), Tenerife. Spain,
2008.
http://data.semanticweb.org/conference/eswc/2008/paper/119 

Diego Berrueta, Jose Emilio Labra and Ivan Herman. XSLT+SPARQL:
Scripting the Semantic Web with SPARQL embedded into XSLT
stylesheets. In Proceedings of the 4th Workshop on Scripting for
the Semantic Web (SFSW2008), co-located with ESWC2008, Tenerife,
Spain, 2008.
http://data.semanticweb.org/workshop/scripting/2008/paper/1

Cheers,

On Mon, 2010-02-01 at 10:44 -0300, Aldo Bucchi wrote:
> Hi,
> 
> I was looking at the current JFresnel codebase and the project seems
> to have little movement. I was wondering if this is the state of the
> art regarding "Declarative Presentation Knowledge for RDF" or have
> efforts moved elsewhere and I have missed it?
> 
> Thanks!
> A
> 

--
Sergio Fernández




Re: Fresnel: State of the Art?

2010-02-01 Thread Mariano Rico
Hi Aldo,

I made an small state of the art about this topic. Have a look at this
http://ceur-ws.org/Vol-449/ShortPaper4.pdf

Best regards,

-Mariano
Senior Researcher
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Spain


Re: [fresnel] Fresnel: State of the Art?

2010-02-01 Thread Axel Rauschmayer
I think, it would make sense at some point in time to work on "Fresnel 2".

My experiences (while implementing editing extensions for Fresnel for Hyena 
[1]) were as follows:

- Fresnel works great for editing, with a few extensions. I've found some 
things to be too complicated (mainly formats and the rules for applying them) 
for my taste, so I would simplify those for Fresnel 2.

- For HTML *display*, I now prefer templating (with ideas similar to JSP). It 
gives you more control and is conceptually very simple. RDF templating would 
benefit from standardizing,  too; I've just recently seen a paper somewhere 
that describes (yet another...) RDF templating mechanism.

- Fresnel is still useful for editing and for targetting multiple display 
architectures (e.g. HTML and PDF, e.g. via iText). It is perfect when a form is 
all you need.

[1] http://hypergraphs.de/hyena/

Does this make sense? Does anyone (dis)agree (possibly vehemently ;-) ?

Axel

On Feb 1, 2010, at 14:44 , Aldo Bucchi wrote:

> Hi,
> 
> I was looking at the current JFresnel codebase and the project seems
> to have little movement. I was wondering if this is the state of the
> art regarding "Declarative Presentation Knowledge for RDF" or have
> efforts moved elsewhere and I have missed it?
> 
> Thanks!
> A
> 
> -- 
> Aldo Bucchi
> skype:aldo.bucchi
> http://www.univrz.com/
> http://aldobucchi.com/
> 
> PRIVILEGED AND CONFIDENTIAL INFORMATION
> This message is only for the use of the individual or entity to which it is
> addressed and may contain information that is privileged and confidential. If
> you are not the intended recipient, please do not distribute or copy this
> communication, by e-mail or otherwise. Instead, please notify us immediately 
> by
> return e-mail.
> 

-- 
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/






Enterprise level RDF Scripting ( was: [foaf-protocols] foaf classes for primary Topic )

2010-02-01 Thread Aldo Bucchi
Hi,

On Mon, Feb 1, 2010 at 9:11 AM, Story Henry  wrote:
>
> On 31 Jan 2010, at 17:25, Peter Williams wrote:
>
>> Let's build that linq2rdfa driver! It’s the killer app for the semweb, in
>> Microsoft land.

Cool!
This topic is coming up again ;)

>
> I agreee. From the Java perspective this is very much what I found too.
>
> When I first learned RDF I was really intrigued about how it related to 
> Object Oriented Programming, which I was familiar with. So I tried to write a 
> mapper for it to Java, which to my astonishment was really a lot easier than 
> I thought. This really helped me understand how OO programming and the 
> semantic web mesh together. Having these tools for run of the mill 
> programmers is really important as Peter points out to get them to overcome 
> the fear of the new: by bringing the semweb back to something they know. This 
> thought is what led me to develop the Sommer library:
>
>   https://sommer.dev.java.net/sommer/index.html
>
> Doin this made it clear that really the major difference is that we name 
> things and fields with URIs.
>
> The next difference is that of Graphs, which is a little more difficult to 
> merge correctly into OO languages (or for that matter most traditional 
> programming languages).
>
> Still before tools such as Hibernate and such for Java came out, people 
> worked with SQL directly. So people went on a long time with this pain 
> point... To start off we need really good examples of the usage of RDF. And I 
> think foaf+ssl is that key driver, because it has the ability to give people 
> access to things they would not otherwise have had access to: eg: going to a 
> party.

Henry:
Here's an idea. Instead of trying to bake this cake by ourselves, can
you tap into Martin Odersky's team and propose some use cases? I could
help with that if you get his attention.
He's the guy behind Scala and they are on a rampage these days.

Now. Even w/o tweaking the compiler or the grammar to support URIs,
the DSL capabilities of Scala make it possible to do beautiful things:
http://code.google.com/p/scardf/

That project is a good start but there are still some issues to address.

I have my own experimental framework but, just as you describe, N1
issue is native type integration and we should explore this at a lower
level. If we could just get native URIs / XSD datatypes things would
be awesome.

Then, Number 2 is graph traversal which can be solved by having some
sort of path language baked in, ( which is compiled to a single query
underneath instead of being evaluated step by step via API, which is
the case in scardf ) .

Number 3 is datasource management. Tying up a datasource as an
implicit value or bound to a thread. Nothing new under the Sun here (
pun intended ) ;)
This is where things get interesting as the datasource could actually
be a full blown Linked Data client such as Virtuoso with Spongers
turned on.

Finally. My initial look at the Scala grammar suggests that we should
be able to fit in URIs. There is support for XML literals and URIs are
easily recognizable as they have a strict syntax. Qnames could also
happen.

Regards,
A

>
>        Henry
>
>
>
>
>
>
>



-- 
Aldo Bucchi
skype:aldo.bucchi
http://www.univrz.com/
http://aldobucchi.com/

PRIVILEGED AND CONFIDENTIAL INFORMATION
This message is only for the use of the individual or entity to which it is
addressed and may contain information that is privileged and confidential. If
you are not the intended recipient, please do not distribute or copy this
communication, by e-mail or otherwise. Instead, please notify us immediately by
return e-mail.



Fresnel: State of the Art?

2010-02-01 Thread Aldo Bucchi
Hi,

I was looking at the current JFresnel codebase and the project seems
to have little movement. I was wondering if this is the state of the
art regarding "Declarative Presentation Knowledge for RDF" or have
efforts moved elsewhere and I have missed it?

Thanks!
A

-- 
Aldo Bucchi
skype:aldo.bucchi
http://www.univrz.com/
http://aldobucchi.com/

PRIVILEGED AND CONFIDENTIAL INFORMATION
This message is only for the use of the individual or entity to which it is
addressed and may contain information that is privileged and confidential. If
you are not the intended recipient, please do not distribute or copy this
communication, by e-mail or otherwise. Instead, please notify us immediately by
return e-mail.



Re: [foaf-protocols] foaf classes for primary Topic

2010-02-01 Thread Story Henry

On 31 Jan 2010, at 17:25, Peter Williams wrote:

> Let's build that linq2rdfa driver! It’s the killer app for the semweb, in
> Microsoft land.

I agreee. From the Java perspective this is very much what I found too.

When I first learned RDF I was really intrigued about how it related to Object 
Oriented Programming, which I was familiar with. So I tried to write a mapper 
for it to Java, which to my astonishment was really a lot easier than I 
thought. This really helped me understand how OO programming and the semantic 
web mesh together. Having these tools for run of the mill programmers is really 
important as Peter points out to get them to overcome the fear of the new: by 
bringing the semweb back to something they know. This thought is what led me to 
develop the Sommer library:

   https://sommer.dev.java.net/sommer/index.html

Doin this made it clear that really the major difference is that we name things 
and fields with URIs. 

The next difference is that of Graphs, which is a little more difficult to 
merge correctly into OO languages (or for that matter most traditional 
programming languages).

Still before tools such as Hibernate and such for Java came out, people worked 
with SQL directly. So people went on a long time with this pain point... To 
start off we need really good examples of the usage of RDF. And I think 
foaf+ssl is that key driver, because it has the ability to give people access 
to things they would not otherwise have had access to: eg: going to a party.

Henry








Re: [foaf-protocols] foaf classes for primary Topic

2010-02-01 Thread Kingsley Idehen

Peter Williams wrote:

A good primer on Linq is here
http://msdn.microsoft.com/en-us/magazine/cc337893.aspx.

For me, a 30 year programmer, that the data queries are integrated into a
mainstream language (C) is what counts. Its strongly typed (which matters to
me, a confessed security engineer trained to reason with type systems
transformations when engineering higher assurnace). 
  

Peter,

Copied in the LOD mailing list as I think your comments should also be 
digested by this community.

In RDF terms, linq (in C#) gets me to 80% of the RDF revolution with no
effort whatsoever - having left behind rectangular sql tables and the limits
of its referential integrity relations.  


I cannot WAIT for the linq2rdfa driver to appear. It's going to be a killer
app. Just imagine a million vb programmers doing SPARQL ASK and CONSTRUCTSs
- and they don’t even know (or care) that they are doing it!

Whereas folks here would speak of data engineering issues in often
philosophical or abstract terms (the religion of REST, in general), in linq
the issues were presented to this reader in VERY concrete terms. Process a
graph: means walk a object tree in memory built dynamically from the
relations of the ER model. Early load a collection property means the outer
collection would store references to complex "object" properties, not their
values (until needed). If the references are not pointers but a restful url
ref (URIs), then fine. Who cares. A pointer is a pointer. A capability is a
capability. A key is a key. Certain primitives are necessary; and we cannot
argue for ever about every monad. The clock is ticking on the semweb.

So, so far, linq has been my bridge to PRACTICISING RDF (and thus foaf docs)
- beyond issuing a sparql query based on substituting some parameter into a
stored string that canned up all my design logic (when searching out the
foaf+ssl pubkeys per webid).

Yes, linq has limited supported for relation types (more or less classical,
reversible 1:n relations). But, C# comes with a type extension capability.
Even in the .NET semweb toolkit, _runtime_ type extensions add to the query
operator set classical functional programming operators, such as Map. The
obviously math-centric programmer uses it extensively, when processing the
RDF ontology metadata into .Net metadata. 


This all taught me to think mathematically (again), and be bold: define
languages to express your designs peter, don’t simply use languages to
implement. Restructure data, Peter, for the kind of processing you need to
do. Unlike XLST and reading RDF ontologies, none of this linq stuff is
presented in an "esoteric" manner. Folks from the bottom half of the class
(i.e. me) can get it. The top half are busy defining their own advanced Map
operators...of course. Great! I'm eager use them.

Now, as you noted, Kingsley already adopted that tool chain. And, Ill guess
he dominates it (unlike me). That was a few years ago, and Im eager to hear
what he thinks of it ... now.

Side note: Ive only used the "rdfmetal" code generator command line tool,
from the linq2rdf source. I have not used the graphical designer tool that
code generates, as that would me too tightly bound to micosoft's tool chain.
Ive learned to avoid that elixir (since Microsoft's tools group rewrites its
design tooling every 3 years, turning elixir into poison).

Since the implementation of the semweb toolkit makes extensive use of .NET
generics and functional extensions - producing a semweb library not
dissimilar in scope to Jena - so far it has provided an excellent teaching
of linq. It hasn’t advanced my RDF knowhow much, though! Im still stuck in
library science land when working with RDF natively (and I never studied
library science, only computer science).

At the same time, I recognize that sparql queries (and protocol) are doing
fine for me. (They are a better version of what we use extensively in the
backrooms of the realty business -  a 10 year old http-based querying
protocol called RETS, a query language called DMQL, all of which has an
object-centric data model with metadata). 


To promote Semweb "native" (and FOAF in particular), we just need to design
and promote a library of ADVANCED sparql queries that SHOWCASE the ”more
interesting" foaf relations. Going BEYOND selecting, just as discussed here
in the ASK and CONSTRUCT cases used in authorization processing, we need to
be teaching the bottom half of the class the GRAPH aspects of RDF and
SPARQL. If I measure myself (which is good for 51% of people), its poorly
understood/leveraged (folks are stopping learning having learned to binding
values to variables, via select, like your do in your predicate calculus 101
course, in a first year university engineering course). 


Studying and promoting the Authorization logic (which leverages ASK, etc )
may be EXACTLY the thing to do. Through application, we all get to study the
finer features of RDF and SPARQL, through a problem lots of folks
intuitively understand