You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/06/29 18:25:35 UTC
svn commit: r1141148 - in /incubator/jena/Jena2/ARQ/trunk: ./
src/com/hp/hpl/jena/sparql/pfunction/library/ testing/ARQ/PropertyFunctions/
Author: andy
Date: Wed Jun 29 16:25:34 2011
New Revision: 1141148
URL: http://svn.apache.org/viewvc?rev=1141148&view=rev
Log:
rdfs:member calculation - look in graph for concrete triples as well
JENA-77
Added:
incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.rq
incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.srx
incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/data-6.ttl (with props)
Modified:
incubator/jena/Jena2/ARQ/trunk/D.ttl
incubator/jena/Jena2/ARQ/trunk/Q.rq
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/container.java
incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/manifest.ttl
Modified: incubator/jena/Jena2/ARQ/trunk/D.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/D.ttl?rev=1141148&r1=1141147&r2=1141148&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/jena/Jena2/ARQ/trunk/Q.rq
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Q.rq?rev=1141148&r1=1141147&r2=1141148&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Q.rq (original)
+++ incubator/jena/Jena2/ARQ/trunk/Q.rq Wed Jun 29 16:25:34 2011
@@ -1,21 +1,8 @@
-PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
-SELECT DISTINCT ?stw ?stw_pref ?rel ?thesoz_pref ?thesoz
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX : <http://example/>
+
+SELECT *
WHERE {
- {
- SELECT DISTINCT ?stw ('=' as ?rel) ?thesoz
- WHERE {
- ?stw skos:exactMatch ?thesoz .
- ?stw skos:inScheme <http://zbw.eu/stw> .
- ?thesoz skos:inScheme <http://lod.gesis.org/thesoz/> .
- }
- } UNION {
- SELECT DISTINCT ?stw ('<' as ?rel) ?thesoz
- WHERE {
- ?stw skos:broadMatch ?thesoz .
- ?stw skos:inScheme <http://zbw.eu/stw> .
- ?thesoz skos:inScheme <http://lod.gesis.org/thesoz/> .
- }
- } .
- ?stw skos:prefLabel ?stw_pref .
- ?thesoz skos:prefLabel ?thesoz_pref
+ ?x rdfs:member ?y .
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/container.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/container.java?rev=1141148&r1=1141147&r2=1141148&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/container.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/container.java Wed Jun 29 16:25:34 2011
@@ -23,6 +23,8 @@ import com.hp.hpl.jena.sparql.engine.bin
import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
import com.hp.hpl.jena.sparql.engine.iterator.QueryIterConcat ;
import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
+import com.hp.hpl.jena.sparql.engine.iterator.QueryIterRoot ;
+import com.hp.hpl.jena.sparql.engine.iterator.QueryIterTriplePattern ;
import com.hp.hpl.jena.sparql.engine.iterator.QueryIterYieldN ;
import com.hp.hpl.jena.sparql.pfunction.PFuncSimple ;
import com.hp.hpl.jena.sparql.util.IterLib ;
@@ -44,8 +46,27 @@ public class container extends PFuncSimp
@Override
public QueryIterator execEvaluated(Binding binding, Node containerNode, Node predicate, Node member, ExecutionContext execCxt)
{
+ QueryIterator qIter1 = execEvaluatedConcrete(binding, containerNode, predicate, member, execCxt) ;
+ QueryIterator qIter2 = execEvaluatedCalc(binding, containerNode, predicate, member, execCxt) ;
+ QueryIterConcat concat = new QueryIterConcat(execCxt) ;
+ concat.add(qIter1) ;
+ concat.add(qIter2) ;
+ return concat ;
+ }
+
+ // Ask directly.
+ private QueryIterator execEvaluatedConcrete(Binding binding, Node containerNode, Node predicate, Node member,
+ ExecutionContext execCxt)
+ {
+ Graph graph = execCxt.getActiveGraph() ;
+ QueryIterator qIter = new QueryIterTriplePattern(QueryIterRoot.create(execCxt), new Triple(containerNode, predicate, member), execCxt) ;
+ return qIter ;
+ }
+
+ // Ask by finding all the rdf:_N + rdf:type
+ private QueryIterator execEvaluatedCalc(Binding binding, Node containerNode, Node predicate, Node member, ExecutionContext execCxt)
+ {
Graph graph = execCxt.getActiveGraph() ;
-
if ( ! containerNode.isVariable() )
{
// Container a ground term.
Added: incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.rq
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.rq?rev=1141148&view=auto
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.rq (added)
+++ incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.rq Wed Jun 29 16:25:34 2011
@@ -0,0 +1,8 @@
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX : <http://example/>
+
+SELECT ?x ?y
+{
+ ?x rdfs:member ?y
+}
Added: incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.srx
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.srx?rev=1141148&view=auto
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.srx (added)
+++ incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/container-9.srx Wed Jun 29 16:25:34 2011
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<sparql xmlns="http://www.w3.org/2005/sparql-results#">
+ <head>
+ <variable name="x"/>
+ <variable name="y"/>
+ </head>
+ <results>
+ <result>
+ <binding name="x">
+ <uri>http://example/x12</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">2</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x11</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">2</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x5</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x5</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">10</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x10</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x10</uri>
+ </binding>
+ <binding name="y">
+ <uri>http://example/x6</uri>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x3</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">5</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x6</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x6</uri>
+ </binding>
+ <binding name="y">
+ <uri>http://example/x6</uri>
+ </binding>
+ </result>
+ <result>
+ <binding name="x">
+ <uri>http://example/x11</uri>
+ </binding>
+ <binding name="y">
+ <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal>
+ </binding>
+ </result>
+ </results>
+</sparql>
Added: incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/data-6.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/data-6.ttl?rev=1141148&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/data-6.ttl
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/manifest.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/manifest.ttl?rev=1141148&r1=1141147&r2=1141148&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/manifest.ttl (original)
+++ incubator/jena/Jena2/ARQ/trunk/testing/ARQ/PropertyFunctions/manifest.ttl Wed Jun 29 16:25:34 2011
@@ -197,6 +197,13 @@
mf:result <container-8.srx>
]
+ [ mf:name "Property Function - container 9" ;
+ mf:action
+ [ qt:query <container-9.rq> ;
+ qt:data <data-6.ttl> ] ;
+ mf:result <container-9.srx>
+ ]
+
[ mf:name "Property Function - sequence 1" ;
mf:action
[ qt:query <seq-1.rq> ;