Author: reto
Date: Wed Feb 18 08:30:06 2015
New Revision: 1660572

URL: http://svn.apache.org/r1660572
Log:
SPARQL Backed Implementation: added support for language literals

Modified:
    commons/sandbox/rdf/trunk/impl.sparql/pom.xml
    
commons/sandbox/rdf/trunk/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlClient.java
    
commons/sandbox/rdf/trunk/impl.sparql/src/test/java/org/apache/commons/rdf/impl/sparql/SparqlGraphTest.java

Modified: commons/sandbox/rdf/trunk/impl.sparql/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/impl.sparql/pom.xml?rev=1660572&r1=1660571&r2=1660572&view=diff
==============================================================================
--- commons/sandbox/rdf/trunk/impl.sparql/pom.xml (original)
+++ commons/sandbox/rdf/trunk/impl.sparql/pom.xml Wed Feb 18 08:30:06 2015
@@ -17,6 +17,7 @@
         graphs and does not yet support BlankNodes.</description>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <commons.encoding>UTF-8</commons.encoding>
         <maven.compiler.source>1.7</maven.compiler.source>
         <maven.compiler.target>1.7</maven.compiler.target>
     </properties>

Modified: 
commons/sandbox/rdf/trunk/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlClient.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlClient.java?rev=1660572&r1=1660571&r2=1660572&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlClient.java
 (original)
+++ 
commons/sandbox/rdf/trunk/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlClient.java
 Wed Feb 18 08:30:06 2015
@@ -92,6 +92,7 @@ public class SparqlClient {
         private Map<String, RdfTerm> currentResult = null;
         private final List<Map<String, RdfTerm>> results = new ArrayList<>();
         private boolean readingValue;
+        private String lang; //the xml:lang attribute of a literal
         private String value;
         private Map<String, BlankNode> bNodeMap = new HashMap<>();
         private static final Iri XSD_STRING = new 
Iri("http://www.w3.org/2001/XMLSchema#string";);
@@ -138,6 +139,7 @@ public class SparqlClient {
                     if (readingValue) {
                         throw new SAXException("unexpected tag <" + localName 
+ ">");
                     }
+                    lang = 
atts.getValue("http://www.w3.org/XML/1998/namespace";, "lang");
                     readingValue = true;
                 }
             }
@@ -172,6 +174,7 @@ public class SparqlClient {
                     try {
                         BindingType b = BindingType.valueOf(localName);
                         RdfTerm rdfTerm = null;
+                        final Language language = lang == null? null : new 
Language(lang);;
                         switch (b) {
                             case uri:
                                 rdfTerm = new Iri(value);
@@ -196,8 +199,7 @@ public class SparqlClient {
 
                                     @Override
                                     public Language getLanguage() {
-                                        //TODO impl
-                                        return null;
+                                        return language;
                                     }
                                 };
                                 break;

Modified: 
commons/sandbox/rdf/trunk/impl.sparql/src/test/java/org/apache/commons/rdf/impl/sparql/SparqlGraphTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/impl.sparql/src/test/java/org/apache/commons/rdf/impl/sparql/SparqlGraphTest.java?rev=1660572&r1=1660571&r2=1660572&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/impl.sparql/src/test/java/org/apache/commons/rdf/impl/sparql/SparqlGraphTest.java
 (original)
+++ 
commons/sandbox/rdf/trunk/impl.sparql/src/test/java/org/apache/commons/rdf/impl/sparql/SparqlGraphTest.java
 Wed Feb 18 08:30:06 2015
@@ -19,6 +19,7 @@ import java.util.Iterator;
 import java.util.Set;
 import org.apache.commons.rdf.Graph;
 import org.apache.commons.rdf.Iri;
+import org.apache.commons.rdf.Language;
 import org.apache.commons.rdf.Literal;
 import org.apache.commons.rdf.RdfTerm;
 import org.apache.commons.rdf.Triple;
@@ -90,6 +91,7 @@ public class SparqlGraphTest {
             }
             Assert.assertFalse(iter.hasNext());
             Assert.assertTrue(names.contains(new 
PlainLiteralImpl("Spiderman")));
+            Assert.assertTrue(names.contains(new 
PlainLiteralImpl("Человек-паук", new Language("ru"))));
         }
     }
 


Reply via email to