Repository: any23 Updated Branches: refs/heads/master f23c25cc2 -> 9bab662c4
ANY23-407 allow microdata itemids from relative urls Project: http://git-wip-us.apache.org/repos/asf/any23/repo Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/9bab662c Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/9bab662c Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/9bab662c Branch: refs/heads/master Commit: 9bab662c46107350417f61e1f7cbd3058809edf1 Parents: f23c25c Author: Hans <[email protected]> Authored: Wed Oct 24 12:00:51 2018 -0500 Committer: Hans <[email protected]> Committed: Wed Oct 24 12:00:51 2018 -0500 ---------------------------------------------------------------------- .../extractor/microdata/MicrodataExtractor.java | 16 ++++++++++------ .../any23/extractor/microdata/MicrodataParser.java | 2 -- 2 files changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/any23/blob/9bab662c/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java index d49f7ce..b60677d 100644 --- a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java +++ b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java @@ -33,8 +33,6 @@ import org.eclipse.rdf4j.model.Literal; import org.eclipse.rdf4j.model.Resource; import org.eclipse.rdf4j.model.IRI; import org.eclipse.rdf4j.model.Value; -import org.eclipse.rdf4j.model.datatypes.XMLDatatypeUtil; -import org.eclipse.rdf4j.model.impl.SimpleValueFactory; import org.eclipse.rdf4j.model.vocabulary.RDF; import org.eclipse.rdf4j.model.vocabulary.XMLSchema; import org.w3c.dom.Document; @@ -421,7 +419,7 @@ public class MicrodataExtractor implements Extractor.TagSoupDOMExtractor { IRI documentIRI, ExtractionResult out, Map<ItemScope, Resource> mappings, IRI defaultNamespace ) throws ExtractionException { - Resource subject = mappings.computeIfAbsent(itemScope, scope -> createSubjectForItemId(scope.getItemId())); + Resource subject = mappings.computeIfAbsent(itemScope, scope -> createSubjectForItemId(documentIRI, scope.getItemId())); IRI itemScopeType = getType(itemScope); if (itemScopeType != null) { @@ -461,9 +459,15 @@ public class MicrodataExtractor implements Extractor.TagSoupDOMExtractor { return type == null ? null : RDFUtils.iri(type.toString()); } - private static Resource createSubjectForItemId(String itemId) { - Optional<IRI> iri = toAbsoluteIRI(itemId); - return iri.isPresent() ? iri.get() : RDFUtils.bnode(); + private static Resource createSubjectForItemId(IRI documentIRI, String itemId) { + if (itemId == null) { + return RDFUtils.bnode(); + } + try { + return toAbsoluteIRI(documentIRI, itemId); + } catch (URISyntaxException e) { + return RDFUtils.bnode(); + } } private void processProperty( http://git-wip-us.apache.org/repos/asf/any23/blob/9bab662c/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java index 970c31b..dfb9de6 100644 --- a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java +++ b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java @@ -32,11 +32,9 @@ import org.w3c.dom.traversal.TreeWalker; import java.io.PrintStream; import java.net.URL; -import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet;
