Thank you Martynas,
I see. This is indeed why Jena behaves like this.
I will try to see further on the usage 

Best regards
Chavdar 

-----Original Message-----
From: Martynas Jusevičius <[email protected]> 
Sent: Saturday, November 2, 2019 3:22 PM
To: jena-users-ml <[email protected]>
Subject: Re: Possible bug in RDFDataMgr

Chavdar,

try pasting your data here and validating: https://www.w3.org/RDF/Validator/

<cims:isFixed rdfs:Literal="XYZ" /> is valid RDF/XML syntax, but it treats 
rdfs:Literal as a property. Which is most likely not what you are looking for.

As you can see, it generates an additional triple with a blank node subject. 
The blank node has no URI, it has an auto-generated unique ID instead.
That is probably what you're seeing in Jena as well. But maybe others can 
confirm.

What is the "XYZ" value supposed to be in your data? A typed literal?

On Sat, Nov 2, 2019 at 3:10 PM Dr. Chavdar Ivanov <[email protected]> wrote:
>
> Hello
>
> Here the material
> If in the data I have this "<cims:isFixed rdfs:Literal="XYZ" />" then 
> the issue appears. If I change the data to "<cims:isFixed rdf:resource="XYZ" 
> />" it works, meaning I do not see the GUIDs in the ModelCom
> It also works if my data is    <cims:isFixed rdf:parseType="Literal">XYZ 
> </cims:isFixed>
> Then in ModelCom I get: ....@cims:isFixed "XYZ 
> "^^http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral...
>
> But it does not work if the data is
> "<cims:isFixed rdfs:Literal="XYZ" />"
> or
> "<cims:isFixed rdfs:resource="XYZ" />"
> Or
> "<cims:isFixed rdf:literal="XYZ" />"
> Or
> "<cims:isFixed rdf:PlainLiteral="XYZ" />"
> Or
> "<cims:isFixed rdf:XMLLiteral="XYZ" />"
>
>
> rdfs:Literal seems explained/defined here: 
> https://www.w3.org/TR/rdf-schema/#ch_literal but maybe the usage is 
> different
>
> The code is
>
> Model model = ModelFactory.createDefaultModel();
> RDFDataMgr.read(model, new FileInputStream("here the file"), 
> Lang.RDFXML); for (ResIterator i = model.listSubjects(); i.hasNext(); ) {
>                 Resource resItem = i.next();
>                 try {
>                      String rdfTypeInit = 
> resItem.getRequiredProperty(RDF.type).getObject().toString();
>                     System.out.println(rdfTypeInit);
>                 }catch (Exception e) {
>                     e.printStackTrace();
>                 }
> }
>
> The data is
>
> <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF 
> xmlns:cims="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#"; 
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema#"; 
> xmlns:cim="http://iec.ch/TC57/CIM100#"; 
> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"; 
> xml:base="http://iec.ch/TC57/CIM100"; >
>    <rdf:Description rdf:about="#Breaker.OperatedBy">
>    <rdfs:label xml:lang="en">OperatedBy</rdfs:label>
>    <rdfs:domain rdf:resource="#Breaker" />
>    <rdfs:range rdf:resource="#ProtectionEquipment" />
>    <cims:inverseRoleName rdf:resource="#ProtectionEquipment.Operates" />
>    <cims:multiplicity 
> rdf:resource="http://www.cim-logic.com/schema/990530#M:0..n"; />
>    <rdfs:comment>"Circuit breakers may be operated by
>        protection relays."</rdfs:comment>
>    <cims:isFixed rdfs:Literal="XYZ" />
>    <rdf:type 
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
> </rdf:Description>
>    <rdf:Description rdf:about="#Breaker.OperatedBy">
>    <rdfs:label xml:lang="en">OperatedBy</rdfs:label>
>    <rdfs:domain rdf:resource="#Breaker" />
>    <rdfs:range rdf:resource="#ProtectionEquipment" />
>    <cims:inverseRoleName rdf:resource="#ProtectionEquipment.Operates" />
>    <cims:multiplicity 
> rdf:resource="http://www.cim-logic.com/schema/990530#M:0..n"; />
>    <rdfs:comment>"Circuit breakers may be operated by
>        protection relays."</rdfs:comment>
>    <rdf:type 
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
> </rdf:Description>
> </rdf:RDF>
>
> -----Original Message-----
> From: Martynas Jusevičius <[email protected]>
> Sent: Saturday, November 2, 2019 8:17 AM
> To: [email protected]
> Subject: Re: Possible bug in RDFDataMgr
>
> Chavdar,
>
> you should provide a sample of your RDF/XML data.
>
> I don’t think rdfs:Literal attribute is a part of RDF/XML spec. You should 
> provide the literal value simply as text content within the element.
>
> Looks like Jena generates a (blank node?) value instead of the missing one, 
> which might be a bug.
>
> On Sat, 2 Nov 2019 at 07.48, Dr. Chavdar Ivanov <[email protected]>
> wrote:
>
> > Hello,
> >
> >
> >
> > I hit to something strange and I wonder if this is some bug to be fixed.
> >
> >
> >
> > If I read the attached rdf which now has only 2 elements which are 
> > the same with the only difference that one has “cims:isFixed”.
> >
> >
> >
> > Below I pasted what I am getting in ModelCom. There are some GUIDs 
> > appearing and
> >
> > The iteration of
> > model.listSubjects().next().getRequiredProperty(RDF.*type*) fails as
> >
> > org.apache.jena.shared.PropertyNotFoundException:
> > http://www.w3.org/1999/02/22-rdf-syntax-ns#type
> >
> >
> >
> >
> >
> > If it really a bug and how this could be fixed?
> >
> > It seems it does not related to cims: as there are other cims and it is all 
> > fine with them.
> >
> > <cims:isFixed rdfs:Literal="XYZ" />
> >
> > It seems that rdfs:Literal is not treated.
> >
> >
> >
> > Regards
> >
> > Chavdar
> >
> >
> >
> >
> >
> > The ModelCom is in case there is isFixed in the rdf
> >
> >
> >
> > <ModelCom   {63ded209-84f9-44cf-a61e-7d7ce8b22630 @rdfs:Literal "XYZ";
> > cim:Breaker.OperatedBy @rdf:type rdf:Property; 
> > cim:Breaker.OperatedBy @cims:isFixed 
> > *63ded209-84f9-44cf-a61e-7d7ce8b22630*;
> > cim:Breaker.OperatedBy @rdfs:comment "\"Circuit breakers may be 
> > operated by
> >
> >        protection relays.\""; cim:Breaker.OperatedBy 
> > @cims:multiplicity http://www.cim-logic.com/schema/990530#M:0..n;
> > cim:Breaker.OperatedBy @cims:inverseRoleName 
> > cim:ProtectionEquipment.Operates; cim:Breaker.OperatedBy @rdfs:range 
> > cim:ProtectionEquipment; cim:Breaker.OperatedBy @rdfs:domain 
> > cim:Breaker; cim:Breaker.OperatedBy @rdfs:label "OperatedBy"@en} | 
> > [*63ded209-84f9-44cf-a61e-7d7ce8b22630*,
> > http://www.w3.org/2000/01/rdf-schema#Literal, "XYZ"] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> > http://www.w3.org/1999/02/22-rdf-syntax-ns#Property] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#isFixed,
> > 63ded209-84f9-44cf-a61e-7d7ce8b22630] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#comment, "\"Circuit breakers 
> > may be operated by
> >
> >        protection relays.\""] [
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#multiplicity,
> > http://www.cim-logic.com/schema/990530#M:0..n] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#inverseRoleNa
> > me , http://iec.ch/TC57/CIM100#ProtectionEquipment.Operates] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#range,
> > http://iec.ch/TC57/CIM100#ProtectionEquipment] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#domain,
> > http://iec.ch/TC57/CIM100#Breaker] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#label, "OperatedBy"@en]>
> >
> >
> >
> >
> >
> > If I delete the isFixed the result is
> >
> > <ModelCom   {cim:Breaker.OperatedBy @rdf:type rdf:Property;
> > cim:Breaker.OperatedBy @rdfs:comment "\"Circuit breakers may be 
> > operated by
> >
> >        protection relays.\""; cim:Breaker.OperatedBy 
> > @cims:multiplicity http://www.cim-logic.com/schema/990530#M:0..n;
> > cim:Breaker.OperatedBy @cims:inverseRoleName 
> > cim:ProtectionEquipment.Operates; cim:Breaker.OperatedBy @rdfs:range 
> > cim:ProtectionEquipment; cim:Breaker.OperatedBy @rdfs:domain 
> > cim:Breaker; cim:Breaker.OperatedBy @rdfs:label "OperatedBy"@en} |  
> > [ http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> > http://www.w3.org/1999/02/22-rdf-syntax-ns#Property] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#comment, "\"Circuit breakers 
> > may be operated by
> >
> >        protection relays.\""] [
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#multiplicity,
> > http://www.cim-logic.com/schema/990530#M:0..n] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#inverseRoleNa
> > me , http://iec.ch/TC57/CIM100#ProtectionEquipment.Operates] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#range,
> > http://iec.ch/TC57/CIM100#ProtectionEquipment] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#domain,
> > http://iec.ch/TC57/CIM100#Breaker] [ 
> > http://iec.ch/TC57/CIM100#Breaker.OperatedBy,
> > http://www.w3.org/2000/01/rdf-schema#label, "OperatedBy"@en]>
> >

Reply via email to