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\" .";