I still get the Bad IRI exception. I do a TDBFactory.createModel(), then
your suggested workaround. Loading the N3 data happens after that, which
is when I get the exception.
Is the problem that my URI does not resolve to a real address?
Any other ideas? And if I should start my own message thread, please let
me know.
Thank you
--- In jena-dev@yahoogroups.com, "jmoscato" <jmoscato@...> wrote:
>
> Hello Andy,
>
> I just saw your reply in the middle of creating and sending my
message.
> I'll try your suggested workaround and post the results.
>
> Thanks!
> John
>
>
> --- In jena-dev@yahoogroups.com, "jmoscato" jmoscato@ wrote:
> >
> > Hi,
> >
> > I just noticed a similar problem when upgrading to TDB 0.8.1 and
Jena
> > 2.6.0. I have previously been loading N3 successfully, but now I get
> an
> > exception
> >
> > com.hp.hpl.jena.shared.JenaException:
> > com.hp.hpl.jena.riot.RiotException: Bad IRI:
> > http://www.fakedomain.org/bar#
> >
> > I have tried things like the following, but to no avail:
> > model.getReader("N3").setProperty("allowBadURIs", "true");
> > model.getReader("N3").setProperty("iri-rules", "lax");
> >
> > Is there a way to relax such checking, that perhaps would help the
> > original poster as well?
> >
> > Thanks,
> > John Moscato
> >
> >
> > --- In jena-dev@yahoogroups.com, "David Donohue" dd@ wrote:
> > >
> > > Hello,
> > > I switched my Jena libraries to those distributed with TDB 0.8.1
> (Jena
> > 2.6.0, I believe).
> > > My code for loading RDF worked previously.
> > > model.read(in, defaultUri, lang);
> > >
> > > But now it gives an error
> > >
> > > com.hp.hpl.jena.shared.JenaException:
> > com.hp.hpl.jena.riot.ParseException: [Line:18,Col:434] Triples not
> termi
> > > nated by DOT
> > > at
> > com.hp.hpl.jena.n3.JenaReaderBase.readImpl(JenaReaderBase.java:111)
> > > at
> > com.hp.hpl.jena.n3.JenaReaderBase.read(JenaReaderBase.java:68)
> > > at
> > com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:217)
> > > at
> > org.inqle.data.rdf.jena.load.Loader.loadStream(Loader.java:129)
> > >
> > > The file I am loading is UMBEL.N3, which I have loaded many times
> > before. I paste the file below.
> > >
> > > When I replace triple quotes """ with single quotes, the error
> recurs
> > but on a different line (with no triple quotes).
> > >
> > > Anything new in Jena 2.6.0 or TDB 0.8.1 which would cause this
> > problem?
> > > Thanks!
> > > David Donohue
> > >
> > >
> > > @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> > > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> > > @prefix owl: <http://www.w3.org/2002/07/owl#> .
> > > @prefix dcterms: <http://purl.org/dc/terms/> .
> > > @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
> > > @prefix lingvoj: <http://www.lingvoj.org/ontology#> .
> > > @prefix umbel: <http://umbel.org/umbel#> .
> > > @prefix vann: <http://purl.org/vocab/vann/> .
> > > @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
> > > @prefix foaf: <http://xmlns.com/foaf/0.1/> .
> > >
> > > <http://umbel.org/umbel#> a owl:Ontology ;
> > > dcterms:title "UMBEL - Upper-level Mapping and Binding
Exchange
> > Layer" ;
> > > dcterms:creator <http://fgiasson.com/me/> ;
> > > dcterms:creator <http://mkbergman.com/me/> ;
> > > foaf:fundedBy <http://zitgist.com/about/> ;
> > >
> > > dcterms:description """UMBEL (Upper-level Mapping and Binding
> > Exchange Layer) is a lightweight ontology for relating Web content,
> data
> > and named entities via the context provided by a standard set of
> subject
> > concepts. It is being designed to apply to all types of data on the
> Web
> > from RSS and Atom feeds to tagging to microformats and topic maps to
> RDF
> > and OWL (among others). The project Web site is at
> > http://www.umbel.org."""@en ;
> > >
> > > vann:preferredNamespaceUri "http://umbel.org/umbel#" ;
> > > vann:preferredNamespacePrefix "umbel" .
> > >
> > >
> > > umbel:SubjectConcept a owl:Class ;
> > > vs:term_status "stable" ;
> > > rdfs:subClassOf skos:Concept ;
> > > owl:disjointWith umbel:Semset ;
> > > owl:disjointWith umbel:AbstractConcept ;
> > > rdfs:subClassOf
> > > [ a owl:Restriction ;
> > > owl:minCardinality "1" ;
> > > owl:onProperty umbel:semset ] ;
> > > skos:prefLabel "subject concept"@en ;
> > >
> > > skos:definition """Subject concepts are a distinct subset
> of
> > the more broadly understood concept such as used in the SKOS RDFS
> > controlled vocabulary or formal concept analysis or the very general
> > concepts common to some upper ontologies. Subject concepts are a
> special
> > kind of concept: ones that are concrete, subject-related and
> > non-abstract. We further contrast these with named entities, which
are
> > the real things or instances in the world that are members of these
> > subject concept classes. The UMBEL "backbone" is this set of
reference
> > subject concepts."""@en ;
> > >
> > > skos:note """Subject concepts are a special kind of
> concept:
> > namely, ones that are concrete, subject-related and non-abstract.
Note
> > in other systems or ontologies, similar constructs may alternatively
> be
> > called topics, subjects, concepts or perhaps interests. UMBEL has
> > adopted the term subject concept to distinguish from these uses,
which
> > have different nuances of meaning and use, as well as to highlight
the
> > subject or topic nature of UMBEL's concrete concepts.
> > >
> > > All subject concepts are a class and while they have a preferred
> label
> > (using SKOS terminology), they are representative or a proxy for
that
> > concept, and not to be confused with the thing itself. Every UMBEL
> > subject concept can be expressed and referred to by a different
> > preferred label in alternate languages. Indeed, in a given language,
> > different preferred labels may be swapped out without affecting the
> > identity or use of the subject concept itself. The name for a
subject
> > concept is therefore merely a handle.
> > >
> > > Subject concepts are the core constituents to the UMBEL framework.
> All
> > subject concepts are based on existing concepts in OpenCyc, the open
> > source version of the Cyc knowledge base.
> > >
> > > About 21,000 of them have been distilled and are part of the UMBEL
> > backbone."""@en ;
> > >
> > > skos:note """Subject concepts are defined by: (1) Nouns
or
> > noun phrases (2) These are concrete kinds of things or ideas in the
> real
> > world (3) Broad, collective, reference concepts, often
hierarchically
> > related (4) Similar to "topics" or "subjects", these other terms are
> > used in somewhat different ways in alternative schemas (5)
Collections
> > or classes of like "kinds" of items (6) Quite stable in scope,
breadth
> > and structure (7) Grounded in the OpenCyc knowledge base, which is
the
> > source of its relationships and graph structure (8) Named entities
are
> > members of subject concepts (9) Called "subject concepts" (or
> sometimes
> > as a shorthand, "concepts"). Similar to "topics" or "subjects",
these
> > other terms are used in somewhat different ways in specific in
> > alternative schemas and are therefore not used interchangeably here
> (10)
> > These are not abstract (truth, beauty, evil) concepts, but concrete
> > about kinds of things or ideas in the real world; abstract concepts
> are
> > often properly part of what are known as "upper ontologies"."""@en ;
> > >
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > > umbel:AbstractConcept a owl:Class ;
> > > vs:term_status "stable" ;
> > > rdfs:subClassOf skos:Concept ;
> > > owl:disjointWith umbel:Semset ;
> > > owl:disjointWith umbel:SubjectConcept ;
> > > rdfs:subClassOf
> > > [ a owl:Restriction ;
> > > owl:minCardinality "1" ;
> > > owl:onProperty umbel:semset ] ;
> > > skos:prefLabel "abstract concept"@en ;
> > >
> > > skos:definition """Abstract concepts are a distinct
subset
> of
> > the more broadly understood concept such as used in the SKOS RDFS
> > controlled vocabulary or formal concept analysis or the very general
> > concepts common to some upper ontologies."""@en ;
> > >
> > > skos:note """Abstract concepts are a special kind of
> concept:
> > they represent abstract or ephemeral notions such as truth, beauty,
> evil
> > or justice, or are thought constructs useful to organizing or
> > categorizing things but are not readily seen in the experiential
world
> > (such as, PartiallyTangibleThing). Abstract concepts are further
> > contrasted with subject concepts (see their class description) and
> with
> > named entities, which are the real things or instances in the world
> that
> > are members of subject concept classes.
> > >
> > > Abstract concepts are included in the UMBEL concept graph for
> > inferencing and graph connectivity purposes, but can not themselves
be
> > displayed or used as binding classes in the UMBEL "backbone" for
> > external classes or instances (or named entities).
> > >
> > > AbstractConcept is disjoint with SubjectConcept."""@en ;
> > >
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > >
> > > umbel:Semset a owl:Class ;
> > > vs:term_status "stable" ;
> > > rdfs:subClassOf skos:LabelRelation ;
> > > owl:disjointWith umbel:SubjectConcept ;
> > > owl:disjointWith umbel:AbstractConcept ;
> > > rdfs:subClassOf
> > > [ a owl:Restriction ;
> > > owl:minCardinality "1" ;
> > > owl:onProperty skos:prefLabel ];
> > > rdfs:subClassOf
> > > [ a owl:Restriction ;
> > > owl:cardinality "1" ;
> > > owl:onProperty dcterms:language ] ;
> > > skos:prefLabel "abstract concept"@en ;
> > >
> > > skos:definition """Semsets are semantically close terms
or
> > phrases synonomous or nearly so with the meanings of a subject
> concept.
> > Semsets are akin to WordNet synsets or Cyc aliases, but can also
> include
> > more contemporary jargon or slang as may be drawn from Web tagging
or
> > folksonomies. The term semset has been chosen to distinguish this
> > consolidated meaning. Semsets may apply to either subject concepts
or
> > named entities. In the latter case, their use is closer to the sense
> of
> > an alias (such as nicknames, or "great satan" or "uncle sam" for the
> > "United States")."""@en ;
> > >
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:hasSemset a owl:ObjectProperty ;
> > > vs:term_status "stable" ;
> > > rdfs:subPropertyOf skos:seeLabelRelation ;
> > > rdfs:domain umbel:SubjectConcept ;
> > > rdfs:range umbel:Semset ;
> > > skos:prefLabel "has semset"@en ;
> > > skos:definition """Link a subject concept to its
> Semset."""@en
> > ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:isAligned a owl:ObjectProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > rdfs:domain rdfs:Class ;
> > > rdfs:range umbel:SubjectConcept ;
> > > skos:prefLabel "is aligned with"@en ;
> > > skos:definition """The property umbel:isAligned is used to
> > assert an associative link between a subject concept and a RDFS
Class.
> > This relationship can be described as a subset of individuals of the
> > class A is equivalent to a subset of individuals of the class B.
This
> > means that there is a Subset(A) equivalent to a Subset(B) when a <A>
> > <umbel:isAligned> <B>. So there exists a class C that is the
> > intersection of A and B. This is the formal definition of two linked
> > classes. This property is used to link an external ontology class to
> an
> > UMBEL subject concept class when neither the owl:equilaventClass nor
> the
> > rdfs:subClassOf can be applied but where umbel:isAligned applies.
> > >
> > > umbel:isAligned allows one to say that the subset of a class
> extension
> > (set of instances) X of a class description is equivalent to the
> subset
> > of a class extension Y of another class description.
> > >
> > > Great care has to be taken when using this property between two
> class
> > descriptions. No owl:disjointWith property should be defined, or
> > inferred, between the two class descriptions in order to keep the
> > mapping consistent."""@en ;
> > >
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:linksConcept a owl:ObjectProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > owl:inverseOf umbel:isAligned ;
> > > rdfs:domain umbel:SubjectConcept ;
> > > rdfs:range rdfs:Class ;
> > > skos:prefLabel "links concept"@en ;
> > > skos:definition """Check the definition of umbel:isAligned
> for
> > the definition of this property; linksConcept is the inverse
property
> of
> > isAligned."""@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:withAlignment a owl:DatatypeProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > rdfs:domain rdf:Statement ;
> > > rdfs:range rdfs:Literal ;
> > > skos:prefLabel "has alignment percentage of"@en ;
> > > skos:definition """This property is used to reify a
> > umbel:isAligned or a umbel:linksConcept property to a calculated or
> > estimated alignment (overlap) percentage value between the two
classes
> > (sets)."""@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:isLikely a owl:ObjectProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > rdfs:domain owl:Thing ;
> > > rdfs:range owl:Thing ;
> > > skos:prefLabel "is like"@en ;
> > > skos:definition """he property umbel:isLikely is used to
> > assert an associative link between similar individuals who may or
may
> > not be identical, but are believed to be so. This property is not
> > intended as a general expression of similarity, but rather the
likely
> > but uncertain same identity of the two resources being related.
> > >
> > > This property can and should be changed if the certainty of the
> > sameness of identity is subsequently determined.
> > >
> > > In general, we may not be able to assert that two individuals are
> the
> > same based solely on current information on hand. However, there may
> be
> > quite reasonable bases or methods that the two individuals are
likely
> > the same without being one hundred percent sure.
> > >
> > > umbel:isLikely has the semantics of likely identity, but where
there
> > is some uncertainty that the two resources indeed refer to the exact
> > same individual with the same identity. Such uncertainty can arise
> > when, for example, common names may be used for different
individuals
> > (e.g., John Smith).
> > >
> > > It is appropriate to use this property when there is strong belief
> the
> > two resources refer to the same individual with the same identity,
but
> > that association can not be asserted at the present time with
> > certitude."""@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:withLikelihood a owl:DatatypeProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > rdfs:domain rdf:Statement ;
> > > rdfs:range rdfs:Literal ;
> > > skos:prefLabel "has likelihood percentage of"@en ;
> > > skos:definition """This property is used to reify a
> > umbel:likely property to an likelihood percentage value between the
> two
> > individuals."""@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:isAbout a owl:ObjectProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > rdfs:domain owl:Thing ;
> > > rdfs:range umbel:SubjectConcept ;
> > > skos:prefLabel "is about"@en ;
> > > skos:definition """The property umbel:isAbout is used to
> > assert the relation between a named entity (individual) and a
subject
> > concept class. umbel:isAbout relates the named entity (individual)
to
> > the class through the basis of its subject matter. The relation
> > acknowledges that the scope of the class can not be determined
solely
> by
> > the aggregation or extent of its associated individual entity
members,
> > and that the nature of the subject concept class may not alone bound
> or
> > define the individual entity. Named entites may be related with
> > multiple subject concept classes. The domain of umbel:isAbout
defines
> > its class description as the class of all individuals (owl:Thing)
and
> > its range as the class of subject concepts (umbel:SubjectConcept),
> > thereby bounding the property's proper semantics of associating
> > individuals to their related subject concept class(es).
> > >
> > > This property is therefore used to create a topical assertion
> between
> > an individual and a subject concept. """@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:linksEntity a owl:ObjectProperty ;
> > > vs:term_status "experimental - unstable" ;
> > > owl:inverseOf umbel:isAbout ;
> > > rdfs:domain umbel:SubjectConcept ;
> > > rdfs:range owl:Thing ;
> > > skos:prefLabel "links entity"@en ;
> > > skos:definition """Check the definition of umbel:isAbout
for
> > the definition of this property; linksEntity is the inverse property
> of
> > isAbout."""@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > > umbel:superClassOf a owl:ObjectProperty ;
> > > vs:term_status "stable" ;
> > > owl:inverseOf rdfs:subClassOf ;
> > > skos:prefLabel "super class of"@en ;
> > > skos:definition """The property umbel:superClassOf is used
> as
> > the inverse property of the property rdfs:subClassOf. If a class C'
is
> a
> > super-class of a class C, then all instances of C are also instances
> of
> > C'."""@en ;
> > > skos:note "This property is used to explicitly denote a
> > super-class property of a subject concept resource to an external
> > ontology class."@en ;
> > > rdfs:isDefinedBy <http://umbel.org/umbel#> .
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > # Things to re-use, from external ontologies, within UMBEL:
> > >
> > > # * dcterms:language
> > >
> > > # * All Lingvoj Language instances
> > >
> > > # * skos:prefLabel
> > > # * skos:altLabel
> > > # * skos:hiddenLabel
> > >
> > > # * skos:note
> > > # * skos:changeNote
> > > # * skos:definition
> > > # * skos:editorialNote
> > > # * skos:example
> > > # * skos:historyNote
> > > # * skos:scopeNote
> > >
> > > # * skos:broader
> > > # * skos:narrower
> > > # * skos:related
> > > # * skos:broaderTransitive
> > > # * skos:narrowerTransitive
> > >
> > > # * rdfs:subClassOf
> > >
> > > # * owl:equivalentClass
> > >
> >
>