[ANN] Apache Jena 2.7.1 and Jena Fuseki 0.2.2 releases.

2012-06-18 Thread Andy Seaborne
We are pleased to announce Apache Jena 2.7.1, the first Apache release 
of Jena as a top level project, together with Jena Fuseki 0.2.2.


The website for Apache Jena is

  http://jena.apache.org/

== Mailing lists

The new list name is  users@jena.apache.org
Send email to  users-subscr...@jena.apache.org  to subscribe.

See also:
http://jena.apache.org/help_and_support/

== About This Release

Download Mirrors:
http://www.apache.org/dyn/closer.cgi/jena

Master site:
http://www.apache.org/dist/jena/

NB change of URL and change of layout of the distribution area

= File Downloads

The main download files are:
   binaries/apache-jena-2.7.1.zip
   binaries/jena-fuseki-0.2.2-distribution.zip

.tar.gz forms are also available.

These include Jena, ARQ and all dependent jars.

= Maven artifacts

Jena is also distributed as artifacts available in the maven central 
repositories.


http://repo1.maven.org/maven2/org/apache/jena/

Artifacts in this release:

org.apache.jena  jena-core  2.7.1
org.apache.jena  jena-arq   2.9.1
org.apache.jena  jena-iri   0.9.1
org.apache.jena  jena-tdb   0.9.1
org.apache.jena  jena-parent1

See

  http://jena.apache.org/download/maven.html

The Fuseki release is also in maven.

for full details.

 Release Notes

== Jena 2.7.1

+ Fix timezone calculation during transition to/from DST.  (JENA-247)
+ Rename c.h.h.j.graph.Query as c.h.h.j.graph.GraphQuery (not related to 
SPARQL)

+ remove out-of-date resultSet vocabulary class
+ icu4j dependency removed (JENA-177)
+ xml / xmlns namespaces issues on write fixed (JENA-24)

== ARQ 2.9.1

+ SPARQL 1.1: STRBEFORE and STRAFTER return simple empty string on no match.
+ Stop multiple SERVICE calls locking Fuseki up (JENA-248)
+ (internal) DatasetPrefixStorage : change removeFromPrefixMap(String, 
String, String) to removeFromPrefixMap(String, String)

+ Changes for BINDINGS (SPARQL 1.1) - align with SPARQL-WG
  Now called VALUES : slight syntax changes.
  VALUES can be inline data as part of a query pattern.
+ Comprehensive support for date/time/durations operations (JENA-235)
+ Property path syntax revised to align with current SPARQL
  No {...} forms in SPARQL query engine (available in ARQ language)
+ Property path semantics revised to align with current SPARQL
  *, + and ? are connectivity/non-counting
+ New property path evaluation engine framework.
+ Bug fix: DISTINCT might not be distinct (JENA-211)
+ QueryEngineHttp has configuration options (JENA-210)
+ Add function StrUUID which returns a UUID string (c.f. UUID() for 
a UUID as a URI of form urn:uuid:)

  Also available as afn:struuid() and afn:uuid() for strict syntax.
+ Add UpdateExecutionFactory.createRemote(...) for remote execution of 
SPARQL Update (JENA-197)

+ Allow users to specify query parameters in SERVICE
  Allow the context to include a set of parameters add to SERVICE requests
  (JENA-195)
+ SPARQL 1.1: Complete scope tracking of variables (JENA-142)
+ SPARQL/Trutle alignment: Prefix names can contain ':' unescaped.  No 
escape for ':'

+ Faster writing of XML and JSON results formats (JENA-178)
+ Support for SERVICE with additional parameters (JENA-195)

== TDB 0.9.1

+ (JENA-252) Fix multithreaded interaction transitioning to 
transactional mode

+ (JENA-250) Fix lack of sync transitioning to transactional mode
+ Added tdbloader3 (i.e. a pure Java version of tdbloader2) (JENA-117)
+ Bug fix: Graph.size() reports '0' for TDB urn:x-arq:UnionGraph 
(JENA-222) 	
+ Bug fix: Illegal UTF-8 could corrupt the node table. Use binary-safe 
encoder/decoder (JENA-225)

+ Bug fix: (JENA-230)

== Fuseki 0.2.2

+ This version picks up bug fixes from TDB and ARQ.
  This includes problems with concurrent operations.



SPARUL grammar question for ARQ

2012-06-18 Thread Tim Harsch
According to sparql.org this parses:
DELETE WHERE 
{ ?s ?p ?o } 

According to the spec empty brackets are required in the construct template.

http://www.w3.org/Submission/SPARQL-Update/#rConstructTemplate

Is this an extension for ARQ, or am I mis-reading the grammar?  Is there a 
pedantic parser for the updates that would parse only valid 1.1 syntax for 
updates (as there is for query) ?


Re: SPARUL grammar question for ARQ

2012-06-18 Thread Andy Seaborne

On 18/06/12 20:38, Tim Harsch wrote:

According to sparql.org this parses: DELETE WHERE { ?s ?p ?o }

According to the spec empty brackets are required in the construct
template.

http://www.w3.org/Submission/SPARQL-Update/#rConstructTemplate

Is this an extension for ARQ, or am I mis-reading the grammar?  Is
there a pedantic parser for the updates that would parse only valid
1.1 syntax for updates (as there is for query) ?


Your reading the wrong spec :-)  The ARQ's update parser is pedantic, as 
you put it, and that is what you get with syntax SPARQL.


SPARQL Update - as will become a W3C Recommendation is:

http://www.w3.org/TR/sparql11-update/

While the submission was input at the start of the WG process, the 
resulting language has moved on.


One feature added is the

DELETE WHERE { ?s ?p ?o }

shortcut
http://www.w3.org/2009/sparql/docs/update-1.1/Overview.xml#deleteWhere

which is equivalent in effect to
DELETE { ?s ?p ?o } WHERE { ?s ?p ?o }

Andy



Re: SPARUL grammar question for ARQ

2012-06-18 Thread Tim Harsch
Doh, Google did it to me again.  I should have noticed it in the URL.

thanks,
tim





 From: Andy Seaborne a...@apache.org
To: users@jena.apache.org 
Sent: Monday, June 18, 2012 12:52 PM
Subject: Re: SPARUL grammar question for ARQ
 
On 18/06/12 20:38, Tim Harsch wrote:
 According to sparql.org this parses: DELETE WHERE { ?s ?p ?o }

 According to the spec empty brackets are required in the construct
 template.

 http://www.w3.org/Submission/SPARQL-Update/#rConstructTemplate

 Is this an extension for ARQ, or am I mis-reading the grammar?  Is
 there a pedantic parser for the updates that would parse only valid
 1.1 syntax for updates (as there is for query) ?

Your reading the wrong spec :-)  The ARQ's update parser is pedantic, as 
you put it, and that is what you get with syntax SPARQL.

SPARQL Update - as will become a W3C Recommendation is:

http://www.w3.org/TR/sparql11-update/

While the submission was input at the start of the WG process, the 
resulting language has moved on.

One feature added is the

DELETE WHERE { ?s ?p ?o }

shortcut
http://www.w3.org/2009/sparql/docs/update-1.1/Overview.xml#deleteWhere

which is equivalent in effect to
DELETE { ?s ?p ?o } WHERE { ?s ?p ?o }

    Andy





Re: SPARUL grammar question for ARQ

2012-06-18 Thread Andy Seaborne

On 18/06/12 21:34, Tim Harsch wrote:

Doh, Google did it to me again.  I should have noticed it in the URL.


Get people to stop clicking on it and the spec will return to being 
first - they seem to alternate :-)


Andy



thanks,
tim


literals as predicates

2012-06-18 Thread Tim Harsch
Not sure what I am seeing here.  Is it OK for literal's to be predicates in 
this case?


1) Start up Fuseki-0.2.1 incubating
2) load books.ttl 

3) run this
PREFIX dc: http://purl.org/dc/elements/1.1/
INSERT {
   ?s ?c 1 
}
WHERE {
    ?s dc:title  ?c .
}

4) run this (notice literal as predicate)
-
| s   | p   
  | o   |
=
| http://example.org/book/book5 | Harry Potter and the Order of the Phoenix 
  | 1   |
| http://example.org/book/book5 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Order of the Phoenix |
| http://example.org/book/book5 | http://purl.org/dc/elements/1.1/creator   
  | J.K. Rowling  |
| http://example.org/book/book3 | Harry Potter and the Prisoner Of Azkaban  
  | 1   |
| http://example.org/book/book3 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Prisoner Of Azkaban  |
| http://example.org/book/book3 | http://purl.org/dc/elements/1.1/creator   
  | _:b0|
| _:b1| 
http://www.w3.org/2001/vcard-rdf/3.0#Family | Rowling   
|
| _:b1| 
http://www.w3.org/2001/vcard-rdf/3.0#Given  | Joanna
|
| http://example.org/book/book1 | Harry Potter and the Philosopher's Stone  
  | 1   |
| http://example.org/book/book1 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Philosopher's Stone  |
| http://example.org/book/book1 | http://purl.org/dc/elements/1.1/creator   
  | J.K. Rowling  |
| http://example.org/book/book6 | Harry Potter and the Half-Blood Prince
  | 1   |
| http://example.org/book/book6 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Half-Blood Prince|
| http://example.org/book/book6 | http://purl.org/dc/elements/1.1/creator   
  | J.K. Rowling  |
| http://example.org/book/book4 | Harry Potter and the Goblet of Fire   
  | 1   |
| http://example.org/book/book4 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Goblet of Fire   |
| _:b0| http://www.w3.org/2001/vcard-rdf/3.0#FN   
  | J.K. Rowling  |
| _:b0| http://www.w3.org/2001/vcard-rdf/3.0#N
  | _:b1|
| http://example.org/book/book2 | Harry Potter and the Chamber of Secrets   
  | 1   |
| http://example.org/book/book2 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Chamber of Secrets   |
| http://example.org/book/book2 | http://purl.org/dc/elements/1.1/creator   
  | _:b0|
| http://example.org/book/book7 | Harry Potter and the Deathly Hallows  
  | 1   |
| http://example.org/book/book7 | http://purl.org/dc/elements/1.1/title 
  | Harry Potter and the Deathly Hallows  |
| http://example.org/book/book7 | http://purl.org/dc/elements/1.1/creator   
  | J.K. Rowling  |
-


Re: literals as predicates

2012-06-18 Thread Tim Harsch
Oops forgot to say the query for #4:
SELECT * { ?s ?p ?o }





 From: Tim Harsch harschw...@yahoo.com
To: JENA-USERS jena-us...@incubator.apache.org 
Sent: Monday, June 18, 2012 5:12 PM
Subject: literals as predicates
 
Not sure what I am seeing here.  Is it OK for literal's to be predicates in 
this case?


1) Start up Fuseki-0.2.1 incubating
2) load books.ttl 

3) run this
PREFIX dc: http://purl.org/dc/elements/1.1/
INSERT {
   ?s ?c 1 
}
WHERE {
    ?s dc:title  ?c .
}

4) run this (notice literal as predicate)
-
| s                               | p                                          
   | o                                           |
=
| http://example.org/book/book5 | Harry Potter and the Order of the 
Phoenix   | 1                                           |
| http://example.org/book/book5 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Order of the Phoenix |
| http://example.org/book/book5 | http://purl.org/dc/elements/1.1/creator  
   | J.K. Rowling                              |
| http://example.org/book/book3 | Harry Potter and the Prisoner Of 
Azkaban    | 1                                           |
| http://example.org/book/book3 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Prisoner Of Azkaban  |
| http://example.org/book/book3 | http://purl.org/dc/elements/1.1/creator  
   | _:b0                                        |
| _:b1                            | 
http://www.w3.org/2001/vcard-rdf/3.0#Family | Rowling                      
             |
| _:b1                            | 
http://www.w3.org/2001/vcard-rdf/3.0#Given  | Joanna                       
             |
| http://example.org/book/book1 | Harry Potter and the Philosopher's 
Stone    | 1                                           |
| http://example.org/book/book1 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Philosopher's Stone  |
| http://example.org/book/book1 | http://purl.org/dc/elements/1.1/creator  
   | J.K. Rowling                              |
| http://example.org/book/book6 | Harry Potter and the Half-Blood Prince   
   | 1                                           |
| http://example.org/book/book6 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Half-Blood Prince    |
| http://example.org/book/book6 | http://purl.org/dc/elements/1.1/creator  
   | J.K. Rowling                              |
| http://example.org/book/book4 | Harry Potter and the Goblet of Fire      
   | 1                                           |
| http://example.org/book/book4 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Goblet of Fire       |
| _:b0                            | http://www.w3.org/2001/vcard-rdf/3.0#FN  
   | J.K. Rowling                              |
| _:b0                            | http://www.w3.org/2001/vcard-rdf/3.0#N   
   | _:b1                                        |
| http://example.org/book/book2 | Harry Potter and the Chamber of Secrets  
   | 1                                           |
| http://example.org/book/book2 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Chamber of Secrets   |
| http://example.org/book/book2 | http://purl.org/dc/elements/1.1/creator  
   | _:b0                                        |
| http://example.org/book/book7 | Harry Potter and the Deathly Hallows     
   | 1                                           |
| http://example.org/book/book7 | http://purl.org/dc/elements/1.1/title    
   | Harry Potter and the Deathly Hallows      |
| http://example.org/book/book7 | http://purl.org/dc/elements/1.1/creator  
   | J.K. Rowling                              |
-




Re: literals as predicates

2012-06-18 Thread Rob Vesse
I don't believe that literals are valid as predicates in RDF but also I
don't believe TDB enforces any restrictions on what kind of Nodes can be
stored.  

Strictly speaking those should be invalid triples and in principal a
SPARQL Update engine should refuse to insert them but I may be
interpreting the spec wrong.

Andy can probably answer the question better than I can

Rob


On 6/18/12 5:12 PM, Tim Harsch harschw...@yahoo.com wrote:

Not sure what I am seeing here.  Is it OK for literal's to be predicates
in this case?


1) Start up Fuseki-0.2.1 incubating
2) load books.ttl 

3) run this
PREFIX dc: http://purl.org/dc/elements/1.1/
INSERT {
   ?s ?c 1 
}
WHERE {
?s dc:title  ?c .
}

4) run this (notice literal as predicate)
--
---
| s   | p
| o   |
==
===
| http://example.org/book/book5 | Harry Potter and the Order of the
Phoenix   | 1   |
| http://example.org/book/book5 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Order of the Phoenix |
| http://example.org/book/book5 |
http://purl.org/dc/elements/1.1/creator | J.K. Rowling
  |
| http://example.org/book/book3 | Harry Potter and the Prisoner Of
Azkaban| 1   |
| http://example.org/book/book3 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Prisoner Of Azkaban  |
| http://example.org/book/book3 |
http://purl.org/dc/elements/1.1/creator | _:b0
  |
| _:b1|
http://www.w3.org/2001/vcard-rdf/3.0#Family | Rowling
  |
| _:b1|
http://www.w3.org/2001/vcard-rdf/3.0#Given  | Joanna
  |
| http://example.org/book/book1 | Harry Potter and the Philosopher's
Stone| 1   |
| http://example.org/book/book1 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Philosopher's Stone  |
| http://example.org/book/book1 |
http://purl.org/dc/elements/1.1/creator | J.K. Rowling
  |
| http://example.org/book/book6 | Harry Potter and the Half-Blood
Prince  | 1   |
| http://example.org/book/book6 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Half-Blood Prince|
| http://example.org/book/book6 |
http://purl.org/dc/elements/1.1/creator | J.K. Rowling
  |
| http://example.org/book/book4 | Harry Potter and the Goblet of Fire
| 1   |
| http://example.org/book/book4 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Goblet of Fire   |
| _:b0|
http://www.w3.org/2001/vcard-rdf/3.0#FN | J.K. Rowling
  |
| _:b0|
http://www.w3.org/2001/vcard-rdf/3.0#N  | _:b1
  |
| http://example.org/book/book2 | Harry Potter and the Chamber of
Secrets | 1   |
| http://example.org/book/book2 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Chamber of Secrets   |
| http://example.org/book/book2 |
http://purl.org/dc/elements/1.1/creator | _:b0
  |
| http://example.org/book/book7 | Harry Potter and the Deathly
Hallows| 1   |
| http://example.org/book/book7 |
http://purl.org/dc/elements/1.1/title   | Harry Potter and the
Deathly Hallows  |
| http://example.org/book/book7 |
http://purl.org/dc/elements/1.1/creator | J.K. Rowling
  |
--
---



Fuseki Server Warning Message

2012-06-18 Thread Don S
HI,

 I was experiencing with http://localhost:3030/sparql.tpl for updating the
tuples and search queries.
The Update command is

PREFIX owl: http://localhost:3030/ds2/search.owl#
PREFIX xsd: http://www.w3.org/2001/XMLSchema#
INSERT DATA
{
http://localhost:3030/ds2/search.owl#name1
owl:hasFirstname Rex ^^ xsd:string;
}


It is updating the tuples but when I look at the server log I saw lot of
warning messages.

java -Xmx1200M -jar fuseki-server.jar --update --loc=/TD /ds2


12:32:05 INFO  Server   :: TDB dataset: directory=/TD

12:32:05 INFO  Server   :: Dataset path = /ds2

12:32:05 INFO  Server   :: Fuseki 0.2.3-SNAPSHOT 20120614-0506

12:32:05 INFO  Server   :: Jetty 7.x.y-SNAPSHOT

12:32:05 INFO  Server   :: Started 2012/06/19 12:32:05 PDT on
port 3030



12:33:13 INFO  Fuseki   :: [1] POST
http://localhost:3030/ds2/update



12:33:13 WARN  SPARQL_Update$HttpActionUpdate :: Transaction still active
in end Writer - no commit or abort seen (forced abort)

12:33:13 WARN  SPARQL_Update$HttpActionUpdate :: Exception in forced abort
(trying to continue)

com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Transaction has
already committed or abortedat
com.hp.hpl.jena.tdb.transaction.Transaction.abortTransaction.java:146) at
com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.abort(DatasetGraphTxn.java:45)
at
com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._abort(DatasetGraphTransaction.java:138)

 at
com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.abort(DatasetGraphTrackActive.java:68)

 at
org.apache.jena.fuseki.servlets.HttpAction.endWrite(HttpAction.java:120) at
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:239)

 at
org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Update.java:226)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.java:122)

 at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_ServletBase.java:92)

 at
org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.java:78)

 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)

 at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480)

 at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)

 at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)

 at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)

 at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)

 at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)

 at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)

 at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)

 at org.eclipse.jetty.server.Server.handle(Server.java:349)

 at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)

 at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936)

 at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)

 at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)

 at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:50)

 
atorg.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:293)

 at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)

 at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)

 at java.lang.Thread.run(Unknown Source)

 12:33:13 INFO  Fuseki   :: [1] 200 OK



My doubt is after updating the tuples, why I was not able to see the
updated owl file rather I can see the updated results only through
http://localhost:3030/sparql.tpl with SPARQL query.

Even after restarting the window and again giving the search query


PREFIX owl:http://localhost:3030/ds2/search.owl#

SELECT *

WHERE

{

?Person owl:hasFirstname ?hasFirstname.

}


I am getting the results with the updated tuples.I am confusing where it
is actually storing. Still cannot able to figure out.Or we cannot see these
updated tuples physically?

Here is my server configuration java -Xmx1200M -jar fuseki-server.jar
--update --loc=/TD /ds2, but if I change  to (*--loc=./TD*) and give the
search query command it will display the tuples present

inside search.owl file excluded the tuples added using the browser.


Any solution for this.


Thanks