This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new 8c63c92617 GH-3597 schemagen: Allow versionInfo to be URI.
8c63c92617 is described below

commit 8c63c926175a4688d709136cd023d59e19bc9331
Author: Jakub Duchateau <[email protected]>
AuthorDate: Thu Nov 27 16:21:26 2025 +0100

    GH-3597 schemagen: Allow versionInfo to be URI.
---
 jena-cmds/src/main/java/jena/schemagen.java      |  6 +++++-
 jena-cmds/src/test/java/jena/Test_schemagen.java | 18 ++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/jena-cmds/src/main/java/jena/schemagen.java 
b/jena-cmds/src/main/java/jena/schemagen.java
index 29b639dc65..b97c74698f 100644
--- a/jena-cmds/src/main/java/jena/schemagen.java
+++ b/jena-cmds/src/main/java/jena/schemagen.java
@@ -752,7 +752,11 @@ public class schemagen {
                 Resource ont = i.nextStatement().getSubject();
                 StmtIterator j = m_source.getBaseModel().listStatements( ont, 
OWL.versionInfo, (RDFNode)null );
                 if (j.hasNext()) {
-                    versionInfo = 
j.nextStatement().getObject().asLiteral().getLexicalForm();
+                    RDFNode versionInfoObject = j.nextStatement().getObject();
+                    if (versionInfoObject.isResource())
+                        versionInfo = versionInfoObject.asResource().getURI();
+                    else
+                        versionInfo = 
versionInfoObject.asLiteral().getLexicalForm();
 
                     // check for ambiguous answers
                     if (j.hasNext()) {
diff --git a/jena-cmds/src/test/java/jena/Test_schemagen.java 
b/jena-cmds/src/test/java/jena/Test_schemagen.java
index 9bf1d500a0..f015f22e1f 100644
--- a/jena-cmds/src/test/java/jena/Test_schemagen.java
+++ b/jena-cmds/src/test/java/jena/Test_schemagen.java
@@ -231,6 +231,24 @@ public class Test_schemagen
                              new String[] {".*valtype.*"} );
     }
 
+    @Test
+    public void testVersionInfoURI() throws Exception {
+        String SOURCE =
+                "@prefix csvw: <http://www.w3.org/ns/csvw#> .\n" +
+                "@prefix dc: <http://purl.org/dc/terms/> .\n" +
+                "@prefix owl: <http://www.w3.org/2002/07/owl#> .\n" +
+                "\n" +
+                "# CSVM Ontology definition\n" +
+                "csvw: a owl:Ontology;\n" +
+                "  dc:title \"CSVW Namespace Vocabulary Terms\"@en;\n" +
+                "  owl:versionInfo 
<https://github.com/w3c/csvw/commit/fcc9db20ba4de10e41e964eee1b5d01defa4c664>;\n"
 +
+                "  .";
+        testSchemagenOutput( SOURCE, null,
+                             new String[] {},
+                             new String[] {".*public static final String 
VERSION_INFO = 
\"https://github.com/w3c/csvw/commit/fcc9db20ba4de10e41e964eee1b5d01defa4c664\";*"},
+                             new String[] {} );
+    }
+
     @Test
     public void testDatatype0() throws Exception {
         String SOURCE = PREFIX + "ex:d a rdfs:Datatype . ex:d rdfs:comment 
\"custom datatype\" .";

Reply via email to