RDF/RDFS -> OWL

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

RDF/RDFS -> OWL

kcoyle
Many of the ontologies I work with are defined primarily using RDF/S. On
import into Protege, they are converted to OWL. I'm not always sure what
conversion results to expect. Is there documentation on the RDF->OWL
decision-tree? I did look on the wiki, but couldn't find it.

Thanks,
kc
--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Matthew Horridge-2
Administrator
Hi Karen,

Ultimately, the conversion is down to the OWL API.  So the answer is, “what ever the OWL API does”.   If you don’t have a valid OWL document then the OWL API will attempt to parse your document into OWL (using some heuristics).  This usually works fine for class hierarchies.  However, issues may arise when trying to to determine property types (annotation, data or object).  These property types are inferred from context and usage.  In some cases it isn’t possible to infer a type and in these cases I think annotation properties are usually chosen.  There’s some work going on at the moment to improve these heuristics.  If you have specific questions and examples of specific cases where things don’t work as you think they should then feel free to post them to this list (or the OWL API list).

Cheers,

Matthew




On 28 May 2014, at 10:27, Karen Coyle <[hidden email]> wrote:

> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>
> Thanks,
> kc
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Steve Wartik
In reply to this post by kcoyle
Karen,

http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.

Regards,

Steve Wartik

-----Original Message-----
From: protege-user [mailto:[hidden email]] On Behalf Of Karen Coyle
Sent: Wednesday, May 28, 2014 1:28 PM
To: [hidden email]
Subject: [protege-user] RDF/RDFS -> OWL

Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.

Thanks,
kc
--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

kcoyle
Thanks, Steve. I'd say that the OWL doc is "Greek to me" but at least I
could run Greek through a translate program and get SOME idea of what is
going on. Maybe we need a kickstarter to encourage creating a translate
program from formal logic symbols to something normal humans can read. ;-)

My issue, in particular, is what happens when either domains or ranges
are not specified.

I have OWL objectProperties with a domain and no range. These are
converted to annotation properties. I assume that is because the empty
range declaration is interpreted as rdf:Resource, which means it could
be EITHER a literal OR a datatype or objectProperty, thus requiring it
to adhere to annotationProperty rules.

*** FRBRer OWL ****

frbrer:P3057
     RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
     RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
     a owl:NamedIndividual, owl:ObjectProperty ;
     rdfs:comment "Source documentation has
\"publication/distribution\"; slash character replaced with \"or\" to
improve clarity."@en ;
     rdfs:domain frbrer:C1003 ;
     rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
     rdfs:label "has place of publication or distribution"@en ;
     owl:propertyDisjointWith frbrer:P3058 ;
     skos:definition "Relates a manifestation to the city, town, or
other locality associated in the manifestation with the name of the
publisher or distributor."@en ;
     skos:scopeNote "The place of publication may comprise the name of
the state, province, territory, and/or country as well as the local
place name. A manifestation may be associated with one or more places of
publication or distribution."@en .


**** Next: RDA in RDF ****

I have RDF properties with a domain and no range that are, however,
re-cast as OWL:objectProperties in Protege:

<http://rdaregistry.info/Elements/e/P20226>
     reg:name "horizontalScaleOfCartographicContent"@en ;
     reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
     a rdf:Property ;
     rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
     rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
     rdfs:label "has horizontal scale of cartographic content"@en ;
     rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
<http://rdaregistry.info/Elements/u/P60563> ;
     owl:sameAs
<http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> ;
     skos:definition "Relates an expression to the ratio of horizontal
distances in the cartographic content of a resource to the actual
distances they represent."@en .

****

Is this the expected behavior? Are super/sub-classes and
super/sub-properties included in the translation decisions?

(BTW, neither of these translations appears to be what the developers of
the ontologies intend.)

I also thought I saw a property declaration with a range but no domain,
however now I think I was hallucinating -- maybe OWL should be treated
as a controlled substance!

kc



On 5/28/14, 11:10 AM, Wartik, Steven P "Steve" wrote:

> Karen,
>
> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.
>
> Regards,
>
> Steve Wartik
>
> -----Original Message-----
> From: protege-user [mailto:[hidden email]] On Behalf Of Karen Coyle
> Sent: Wednesday, May 28, 2014 1:28 PM
> To: [hidden email]
> Subject: [protege-user] RDF/RDFS -> OWL
>
> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>
> Thanks,
> kc
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Wilson Nathan
Hi Karen,

Which version of Protégé are you using or how are you importing the file?

When I imported FRBRer (http://iflastandards.info/ns/fr/frbr/frbrer.rdf) using Protégé 3 and 4 it imported correctly.

Nathan


-----Original Message-----
From: protege-user [mailto:[hidden email]] On Behalf Of Karen Coyle
Sent: Wednesday, May 28, 2014 2:25 PM
To: Wartik, Steven P "Steve"; User support for WebProtege and Protege Desktop
Subject: Re: [protege-user] RDF/RDFS -> OWL

Thanks, Steve. I'd say that the OWL doc is "Greek to me" but at least I could run Greek through a translate program and get SOME idea of what is going on. Maybe we need a kickstarter to encourage creating a translate program from formal logic symbols to something normal humans can read. ;-)

My issue, in particular, is what happens when either domains or ranges are not specified.

I have OWL objectProperties with a domain and no range. These are converted to annotation properties. I assume that is because the empty range declaration is interpreted as rdf:Resource, which means it could be EITHER a literal OR a datatype or objectProperty, thus requiring it to adhere to annotationProperty rules.

*** FRBRer OWL ****

frbrer:P3057
     RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
     RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
     a owl:NamedIndividual, owl:ObjectProperty ;
     rdfs:comment "Source documentation has \"publication/distribution\"; slash character replaced with \"or\" to improve clarity."@en ;
     rdfs:domain frbrer:C1003 ;
     rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
     rdfs:label "has place of publication or distribution"@en ;
     owl:propertyDisjointWith frbrer:P3058 ;
     skos:definition "Relates a manifestation to the city, town, or other locality associated in the manifestation with the name of the publisher or distributor."@en ;
     skos:scopeNote "The place of publication may comprise the name of the state, province, territory, and/or country as well as the local place name. A manifestation may be associated with one or more places of publication or distribution."@en .


**** Next: RDA in RDF ****

I have RDF properties with a domain and no range that are, however, re-cast as OWL:objectProperties in Protege:

<http://rdaregistry.info/Elements/e/P20226>
     reg:name "horizontalScaleOfCartographicContent"@en ;
     reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
     a rdf:Property ;
     rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
     rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
     rdfs:label "has horizontal scale of cartographic content"@en ;
     rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
<http://rdaregistry.info/Elements/u/P60563> ;
     owl:sameAs
<http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> ;
     skos:definition "Relates an expression to the ratio of horizontal distances in the cartographic content of a resource to the actual distances they represent."@en .

****

Is this the expected behavior? Are super/sub-classes and super/sub-properties included in the translation decisions?

(BTW, neither of these translations appears to be what the developers of the ontologies intend.)

I also thought I saw a property declaration with a range but no domain, however now I think I was hallucinating -- maybe OWL should be treated as a controlled substance!

kc



On 5/28/14, 11:10 AM, Wartik, Steven P "Steve" wrote:

> Karen,
>
> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.
>
> Regards,
>
> Steve Wartik
>
> -----Original Message-----
> From: protege-user [mailto:[hidden email]] On
> Behalf Of Karen Coyle
> Sent: Wednesday, May 28, 2014 1:28 PM
> To: [hidden email]
> Subject: [protege-user] RDF/RDFS -> OWL
>
> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>
> Thanks,
> kc
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

kcoyle
I'm using 4.2. I am wondering what you mean by "correctly." - kc

On 5/28/14, 1:01 PM, Wilson Nathan wrote:

> Hi Karen,
>
> Which version of Protégé are you using or how are you importing the file?
>
> When I imported FRBRer (http://iflastandards.info/ns/fr/frbr/frbrer.rdf) using Protégé 3 and 4 it imported correctly.
>
> Nathan
>
>
> -----Original Message-----
> From: protege-user [mailto:[hidden email]] On Behalf Of Karen Coyle
> Sent: Wednesday, May 28, 2014 2:25 PM
> To: Wartik, Steven P "Steve"; User support for WebProtege and Protege Desktop
> Subject: Re: [protege-user] RDF/RDFS -> OWL
>
> Thanks, Steve. I'd say that the OWL doc is "Greek to me" but at least I could run Greek through a translate program and get SOME idea of what is going on. Maybe we need a kickstarter to encourage creating a translate program from formal logic symbols to something normal humans can read. ;-)
>
> My issue, in particular, is what happens when either domains or ranges are not specified.
>
> I have OWL objectProperties with a domain and no range. These are converted to annotation properties. I assume that is because the empty range declaration is interpreted as rdf:Resource, which means it could be EITHER a literal OR a datatype or objectProperty, thus requiring it to adhere to annotationProperty rules.
>
> *** FRBRer OWL ****
>
> frbrer:P3057
>       RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
>       RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>       a owl:NamedIndividual, owl:ObjectProperty ;
>       rdfs:comment "Source documentation has \"publication/distribution\"; slash character replaced with \"or\" to improve clarity."@en ;
>       rdfs:domain frbrer:C1003 ;
>       rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
>       rdfs:label "has place of publication or distribution"@en ;
>       owl:propertyDisjointWith frbrer:P3058 ;
>       skos:definition "Relates a manifestation to the city, town, or other locality associated in the manifestation with the name of the publisher or distributor."@en ;
>       skos:scopeNote "The place of publication may comprise the name of the state, province, territory, and/or country as well as the local place name. A manifestation may be associated with one or more places of publication or distribution."@en .
>
>
> **** Next: RDA in RDF ****
>
> I have RDF properties with a domain and no range that are, however, re-cast as OWL:objectProperties in Protege:
>
> <http://rdaregistry.info/Elements/e/P20226>
>       reg:name "horizontalScaleOfCartographicContent"@en ;
>       reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>       a rdf:Property ;
>       rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
>       rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
>       rdfs:label "has horizontal scale of cartographic content"@en ;
>       rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
> <http://rdaregistry.info/Elements/u/P60563> ;
>       owl:sameAs
> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> ;
>       skos:definition "Relates an expression to the ratio of horizontal distances in the cartographic content of a resource to the actual distances they represent."@en .
>
> ****
>
> Is this the expected behavior? Are super/sub-classes and super/sub-properties included in the translation decisions?
>
> (BTW, neither of these translations appears to be what the developers of the ontologies intend.)
>
> I also thought I saw a property declaration with a range but no domain, however now I think I was hallucinating -- maybe OWL should be treated as a controlled substance!
>
> kc
>
>
>
> On 5/28/14, 11:10 AM, Wartik, Steven P "Steve" wrote:
>> Karen,
>>
>> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.
>>
>> Regards,
>>
>> Steve Wartik
>>
>> -----Original Message-----
>> From: protege-user [mailto:[hidden email]] On
>> Behalf Of Karen Coyle
>> Sent: Wednesday, May 28, 2014 1:28 PM
>> To: [hidden email]
>> Subject: [protege-user] RDF/RDFS -> OWL
>>
>> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>>
>> Thanks,
>> kc
>> --
>> Karen Coyle
>> [hidden email] http://kcoyle.net
>> m: 1-510-435-8234
>> skype: kcoylenet
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Wilson Nathan
By correctly I mean as expected.  Nothing was converted into an annotation property which should not have.

N

-----Original Message-----
From: Karen Coyle [mailto:[hidden email]]
Sent: Wednesday, May 28, 2014 3:18 PM
To: Wilson Nathan; User support for WebProtege and Protege Desktop; Wartik, Steven P "Steve"
Subject: Re: [protege-user] RDF/RDFS -> OWL

I'm using 4.2. I am wondering what you mean by "correctly." - kc

On 5/28/14, 1:01 PM, Wilson Nathan wrote:

> Hi Karen,
>
> Which version of Protégé are you using or how are you importing the file?
>
> When I imported FRBRer (http://iflastandards.info/ns/fr/frbr/frbrer.rdf) using Protégé 3 and 4 it imported correctly.
>
> Nathan
>
>
> -----Original Message-----
> From: protege-user [mailto:[hidden email]] On
> Behalf Of Karen Coyle
> Sent: Wednesday, May 28, 2014 2:25 PM
> To: Wartik, Steven P "Steve"; User support for WebProtege and Protege
> Desktop
> Subject: Re: [protege-user] RDF/RDFS -> OWL
>
> Thanks, Steve. I'd say that the OWL doc is "Greek to me" but at least
> I could run Greek through a translate program and get SOME idea of
> what is going on. Maybe we need a kickstarter to encourage creating a
> translate program from formal logic symbols to something normal humans
> can read. ;-)
>
> My issue, in particular, is what happens when either domains or ranges are not specified.
>
> I have OWL objectProperties with a domain and no range. These are converted to annotation properties. I assume that is because the empty range declaration is interpreted as rdf:Resource, which means it could be EITHER a literal OR a datatype or objectProperty, thus requiring it to adhere to annotationProperty rules.
>
> *** FRBRer OWL ****
>
> frbrer:P3057
>       RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
>       RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>       a owl:NamedIndividual, owl:ObjectProperty ;
>       rdfs:comment "Source documentation has \"publication/distribution\"; slash character replaced with \"or\" to improve clarity."@en ;
>       rdfs:domain frbrer:C1003 ;
>       rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
>       rdfs:label "has place of publication or distribution"@en ;
>       owl:propertyDisjointWith frbrer:P3058 ;
>       skos:definition "Relates a manifestation to the city, town, or other locality associated in the manifestation with the name of the publisher or distributor."@en ;
>       skos:scopeNote "The place of publication may comprise the name of the state, province, territory, and/or country as well as the local place name. A manifestation may be associated with one or more places of publication or distribution."@en .
>
>
> **** Next: RDA in RDF ****
>
> I have RDF properties with a domain and no range that are, however, re-cast as OWL:objectProperties in Protege:
>
> <http://rdaregistry.info/Elements/e/P20226>
>       reg:name "horizontalScaleOfCartographicContent"@en ;
>       reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>       a rdf:Property ;
>       rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
>       rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
>       rdfs:label "has horizontal scale of cartographic content"@en ;
>       rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
> <http://rdaregistry.info/Elements/u/P60563> ;
>       owl:sameAs
> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> ;
>       skos:definition "Relates an expression to the ratio of horizontal distances in the cartographic content of a resource to the actual distances they represent."@en .
>
> ****
>
> Is this the expected behavior? Are super/sub-classes and super/sub-properties included in the translation decisions?
>
> (BTW, neither of these translations appears to be what the developers
> of the ontologies intend.)
>
> I also thought I saw a property declaration with a range but no domain, however now I think I was hallucinating -- maybe OWL should be treated as a controlled substance!
>
> kc
>
>
>
> On 5/28/14, 11:10 AM, Wartik, Steven P "Steve" wrote:
>> Karen,
>>
>> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.
>>
>> Regards,
>>
>> Steve Wartik
>>
>> -----Original Message-----
>> From: protege-user [mailto:[hidden email]]
>> On Behalf Of Karen Coyle
>> Sent: Wednesday, May 28, 2014 1:28 PM
>> To: [hidden email]
>> Subject: [protege-user] RDF/RDFS -> OWL
>>
>> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>>
>> Thanks,
>> kc
>> --
>> Karen Coyle
>> [hidden email] http://kcoyle.net
>> m: 1-510-435-8234
>> skype: kcoylenet
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Matthew Horridge-2
Administrator
In reply to this post by kcoyle
Just to be clear, or perhaps add to the confusion (!), the document specifies how to map an OWL ontology into an RDF graph and how to map an RDF graph that corresponds to an OWL ontology into OWL (not all RDF graphs can be translated into OWL ontologies).  The parser in the OWL API goes beyond this specification in that it uses some heuristics to try and parse some RDF graphs into OWL ontologies which would otherwise be rejected.  As an example, consider the graph containing a single triple:

:A rdfs:subClassOf :B .

For this to be translatable into an OWL ontology, :A and :B should also be declared (typed) to be classes i.e. the graph should also contain:

:A rdf:type owl:Class .
:B rdf:type owl:Class .

However, the OWL API will parse this into SubClassOf(:A :B), which is most likely what is intended.  

With undeclared (untyped) properties the situation is more tricky.  For example,

:prop rdfs:domain :X

What is prop?  An annotation property, an object property or a data property?  Similarly,

:prop rdfs:range :X

What is prop now?  We still can’t say.  Even if we have

:prop rdfs:range xsd:integer

i.e. a built in datatype as a range we still don’t know whether property is a data or annotation property.

To look at some points in Karen’s email,

My issue, in particular, is what happens when either domains or ranges are not specified.

The problem doesn’t have to do with whether or not domains or ranges are specified. It has to do with whether entities are typed (as Class, ObjectProperty, DataProperty, AnnotationProperty, NamedIndividual or Datatype).  Type your properties (in your own ontologies where you have control).

I have OWL objectProperties with a domain and no range. These are converted to annotation properties. I assume that is because the empty range declaration is interpreted as rdf:Resource, which means it could be EITHER a literal OR a datatype or objectProperty, thus requiring it to adhere to annotationProperty rules.

It was probably parsed as an annotation property because the OWL API can’t determine from it’s usage (and the fact that the type isn’t declared) what type it is.  Annotation properties don’t have any logical import, so rather than potentially making the wrong choice, leading to wrong conclusions, annotation properties are chosen as the safest bet.  (This way you also don’t lose the triple).

I’m not sure what the following questions is below…. which one is being interpreted incorrectly?  Also, it’s hard to say without seeing the complete ontology to provide more context.

*** FRBRer OWL ****

frbrer:P3057
   RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
   RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
   a owl:NamedIndividual, owl:ObjectProperty ;
   rdfs:comment "Source documentation has \"publication/distribution\"; slash character replaced with \"or\" to improve clarity."@en ;
   rdfs:domain frbrer:C1003 ;
   rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
   rdfs:label "has place of publication or distribution"@en ;
   owl:propertyDisjointWith frbrer:P3058 ;
   skos:definition "Relates a manifestation to the city, town, or other locality associated in the manifestation with the name of the publisher or distributor."@en ;
   skos:scopeNote "The place of publication may comprise the name of the state, province, territory, and/or country as well as the local place name. A manifestation may be associated with one or more places of publication or distribution."@en .

If you use frbrer:P3057 with a class, or property (any type) as a subject then frbrer:P3057 must be interpreted as an annotation property (in this case also punned as an individual and an object property).

**** Next: RDA in RDF ****

I have RDF properties with a domain and no range that are, however, re-cast as OWL:objectProperties in Protege:

<http://rdaregistry.info/Elements/e/P20226>
   reg:name "horizontalScaleOfCartographicContent"@en ;
   reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
   a rdf:Property ;
   rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
   rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
   rdfs:label "has horizontal scale of cartographic content"@en ;
   rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>, <http://rdaregistry.info/Elements/u/P60563> ;
   owl:sameAs <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> ;
   skos:definition "Relates an expression to the ratio of horizontal distances in the cartographic content of a resource to the actual distances they represent."@en .

Is <http://rdaregistry.info/Elements/e/P20228> or <http://rdaregistry.info/Elements/u/P60563> an object property or used where only an object property could be used?  <http://rdaregistry.info/Elements/e/P20226> is a sub property of these properties, hence my question.

Also, owl:sameAs is used here, but owl:sameAs should only be used to specify that two individuals are the same.


****
Is this the expected behavior? Are super/sub-classes and super/sub-properties included in the translation decisions?

They could be if the properties are not declared.  Technically all of these examples should be rejected as not being well formed OWL RDF graphs.

(BTW, neither of these translations appears to be what the developers of the ontologies intend.)


Cheers,

Matthew

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

kcoyle
On 5/28/14, 2:26 PM, Matthew Horridge wrote:

>
> i.e. a built in datatype as a range we still don’t know whether property
> is a data or annotation property.
>
> To look at some points in Karen’s email,
>
>> My issue, in particular, is what happens when either domains or ranges
>> are not specified.
>
> The problem doesn’t have to do with whether or not domains or ranges are
> specified. It has to do with whether entities are typed (as Class,
> ObjectProperty, DataProperty, AnnotationProperty, NamedIndividual or
> Datatype).  Type your properties (in your own ontologies where you have
> control).

In the case of the RDF data, no, the entities are not typed with OWL
types. Therefore there is the question of how Protege interprets classes
and properties that are not robustly defined. These may indeed be
erroneous, but it appears the Protege does make decisions in the absence
of these statements.


>
>> I have OWL objectProperties with a domain and no range. These are
>> converted to annotation properties. I assume that is because the empty
>> range declaration is interpreted as rdf:Resource, which means it could
>> be EITHER a literal OR a datatype or objectProperty, thus requiring it
>> to adhere to annotationProperty rules.
>
> It was probably parsed as an annotation property because the OWL API
> can’t determine from it’s usage (and the fact that the type isn’t
> declared) what type it is.  Annotation properties don’t have any logical
> import, so rather than potentially making the wrong choice, leading to
> wrong conclusions, annotation properties are chosen as the safest bet.
>   (This way you also don’t lose the triple).


Yes, that was my conclusion, but I was wanting to confirm that was the
intended Protege action.


>
> I’m not sure what the following questions is below…. which one is being
> interpreted incorrectly?  Also, it’s hard to say without seeing the
> complete ontology to provide more context.
>
>> *** FRBRer OWL ****
>>
>> frbrer:P3057
>>    RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
>>    RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>>    a owl:NamedIndividual, owl:ObjectProperty ;
>>    rdfs:comment "Source documentation has
>> \"publication/distribution\"; slash character replaced with \"or\" to
>> improve clarity."@en ;
>>    rdfs:domain frbrer:C1003 ;
>>    rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
>>    rdfs:label "has place of publication or distribution"@en ;
>>    owl:propertyDisjointWith frbrer:P3058 ;
>>    skos:definition "Relates a manifestation to the city, town, or
>> other locality associated in the manifestation with the name of the
>> publisher or distributor."@en ;
>>    skos:scopeNote "The place of publication may comprise the name of
>> the state, province, territory, and/or country as well as the local
>> place name. A manifestation may be associated with one or more places
>> of publication or distribution."@en .
>
> If you use frbrer:P3057 with a class, or property (any type) as a
> subject then frbrer:P3057 must be interpreted as an annotation property
> (in this case also punned as an individual and an object property).

I don't believe there is punning happening here. I believe this is an
error in the implementation of OWL. Note that this is the code BEFORE it
is imported into Protege.


>
>> **** Next: RDA in RDF ****
>>
>> I have RDF properties with a domain and no range that are, however,
>> re-cast as OWL:objectProperties in Protege:
>>
>> <http://rdaregistry.info/Elements/e/P20226>
>>    reg:name "horizontalScaleOfCartographicContent"@en ;
>>    reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>>    a rdf:Property ;
>>    rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
>>    rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
>>    rdfs:label "has horizontal scale of cartographic content"@en ;
>>    rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
>> <http://rdaregistry.info/Elements/u/P60563> ;
>>    owl:sameAs
>> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent>
>> ;
>>    skos:definition "Relates an expression to the ratio of horizontal
>> distances in the cartographic content of a resource to the actual
>> distances they represent."@en .
>
> Is <http://rdaregistry.info/Elements/e/P20228> or
> <http://rdaregistry.info/Elements/u/P60563> an object property or used
> where only an object property could be used?
>   <http://rdaregistry.info/Elements/e/P20226> is a sub property of these
> properties, hence my question.

That was also my question. But it turns out that the super-property also
leaves range undefined, so in the case it wouldn't matter. Still, I'd
like to know if class definitions of super-classes are taken into
account in the translation from RDF to OWL.

>
> Also, owl:sameAs is used here, but owl:sameAs should only be used to
> specify that two individuals are the same.

They are indeed the same.

>
>
>> ****
>> Is this the expected behavior? Are super/sub-classes and
>> super/sub-properties included in the translation decisions?
>
> They could be if the properties are not declared.  Technically all of
> these examples should be rejected as not being well formed OWL RDF graphs.
>

I actually am glad that Protege does its best to maintain them, but I
would LOVE to get some messages relating to conversion decisions. I
realize, though, that with a large vocabulary that could become somewhat
overwhelming.

kc


>> (BTW, neither of these translations appears to be what the developers
>> of the ontologies intend.)
>>
>
> Cheers,
>
> Matthew
>
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Matthew Horridge-2
Administrator

On 28 May 2014, at 17:04, Karen Coyle <[hidden email]> wrote:

On 5/28/14, 2:26 PM, Matthew Horridge wrote:


i.e. a built in datatype as a range we still don’t know whether property
is a data or annotation property.

To look at some points in Karen’s email,

My issue, in particular, is what happens when either domains or ranges
are not specified.

The problem doesn’t have to do with whether or not domains or ranges are
specified. It has to do with whether entities are typed (as Class,
ObjectProperty, DataProperty, AnnotationProperty, NamedIndividual or
Datatype).  Type your properties (in your own ontologies where you have
control).

In the case of the RDF data, no, the entities are not typed with OWL types.

Just a quick point, although it doesn’t sound like you have control of this, typing resources with owl:Class, owl:ObjectProperty etc. doesn’t stop it from being RDF data (or “pure” RDF data).  RDF processors that don’t understand these types can just ignore them.

Therefore there is the question of how Protege interprets classes and properties that are not robustly defined.

It uses the OWL API mechanisms and doesn’t add anything on top of this.  Some work is being done on these mechanisms to make them more predictable and better documented btw. 

These may indeed be erroneous, but it appears the Protege does make decisions in the absence of these statements.



I have OWL objectProperties with a domain and no range. These are
converted to annotation properties. I assume that is because the empty
range declaration is interpreted as rdf:Resource, which means it could
be EITHER a literal OR a datatype or objectProperty, thus requiring it
to adhere to annotationProperty rules.

It was probably parsed as an annotation property because the OWL API
can’t determine from it’s usage (and the fact that the type isn’t
declared) what type it is.  Annotation properties don’t have any logical
import, so rather than potentially making the wrong choice, leading to
wrong conclusions, annotation properties are chosen as the safest bet.
 (This way you also don’t lose the triple).


Yes, that was my conclusion, but I was wanting to confirm that was the intended Protege action.

o.k.  It’s hard to see what actually happened without seeing the complete ontology, but it looks like the OWL API pieced together various bits of information to do what it did.

I’m not sure what the following questions is below…. which one is being
interpreted incorrectly?  Also, it’s hard to say without seeing the
complete ontology to provide more context.

*** FRBRer OWL ****

frbrer:P3057
  RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
  RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
  a owl:NamedIndividual, owl:ObjectProperty ;
  rdfs:comment "Source documentation has
\"publication/distribution\"; slash character replaced with \"or\" to
improve clarity."@en ;
  rdfs:domain frbrer:C1003 ;
  rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
  rdfs:label "has place of publication or distribution"@en ;
  owl:propertyDisjointWith frbrer:P3058 ;
  skos:definition "Relates a manifestation to the city, town, or
other locality associated in the manifestation with the name of the
publisher or distributor."@en ;
  skos:scopeNote "The place of publication may comprise the name of
the state, province, territory, and/or country as well as the local
place name. A manifestation may be associated with one or more places
of publication or distribution."@en .

If you use frbrer:P3057 with a class, or property (any type) as a
subject then frbrer:P3057 must be interpreted as an annotation property
(in this case also punned as an individual and an object property).

I don't believe there is punning happening here. I believe this is an error in the implementation of OWL. Note that this is the code BEFORE it is imported into Protege.

There is still punning in this example.  There are two triples ( a owl:NamedIndividual, owl:ObjectProperty ) that type this frbrer:P3057 as an individual and an object property, which is basically punning.

**** Next: RDA in RDF ****

I have RDF properties with a domain and no range that are, however,
re-cast as OWL:objectProperties in Protege:

<http://rdaregistry.info/Elements/e/P20226>
  reg:name "horizontalScaleOfCartographicContent"@en ;
  reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
  a rdf:Property ;
  rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
  rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
  rdfs:label "has horizontal scale of cartographic content"@en ;
  rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
<http://rdaregistry.info/Elements/u/P60563> ;
  owl:sameAs
<http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent>
;
  skos:definition "Relates an expression to the ratio of horizontal
distances in the cartographic content of a resource to the actual
distances they represent."@en .

Is <http://rdaregistry.info/Elements/e/P20228> or
<http://rdaregistry.info/Elements/u/P60563> an object property or used
where only an object property could be used?
 <http://rdaregistry.info/Elements/e/P20226> is a sub property of these
properties, hence my question.

That was also my question. But it turns out that the super-property also leaves range undefined, so in the case it wouldn't matter. Still, I'd like to know if class definitions of super-classes are taken into account in the translation from RDF to OWL.

I don’t know off the top of my head.  (Also without seeing the complete ontology). 

Also, owl:sameAs is used here, but owl:sameAs should only be used to
specify that two individuals are the same.

They are indeed the same.

In that case, for properties (which is what you have above), owl:equivalentProperty should be used.  (For classes owl:equivalentClasses should be used.).  Using owl:sameAs here will cause <http://rdaregistry.info/Elements/e/P20226> and <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> to be punned as individuals during parsing.

****
Is this the expected behavior? Are super/sub-classes and
super/sub-properties included in the translation decisions?

They could be if the properties are not declared.  Technically all of
these examples should be rejected as not being well formed OWL RDF graphs.


I actually am glad that Protege does its best to maintain them, but I would LOVE to get some messages relating to conversion decisions. I realize, though, that with a large vocabulary that could become somewhat overwhelming.

 It looks like there will be handlers in future versions of the OWL API (at least this has been discussed on the OWL API tracker) so that tools like Protege can prompt users for types (it might be that types are suggested and then it’s a matter of accepting them).

Cheers,

Matthew


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

kcoyle


On 5/28/14, 5:33 PM, Matthew Horridge wrote:

Thanks, Matthew -

>
> Just a quick point, although it doesn’t sound like you have control of
> this, typing resources with owl:Class, owl:ObjectProperty etc. doesn’t
> stop it from being RDF data (or “pure” RDF data).  RDF processors that
> don’t understand these types can just ignore them.


Right, this is someone else's data.


>
>> Therefore there is the question of how Protege interprets classes and
>> properties that are not robustly defined.
>
> It uses the OWL API mechanisms and doesn’t add anything on top of this.
>   Some work is being done on these mechanisms to make them more
> predictable and better documented btw.

Yes, but I'm still left with the question of why with the RDF ontology
(which is available in full at http://rdaregistry.info, although it is
broken into sections, probably to make the download easier) a property
declared with a domain but not a range is translated by Protege into an
owl:objectProperty. It would seem to me that the result of range being
null, and therefore to be inferred to be rdf:Resource, would be to
translate the property to an annotationProperty, as is the case with OWL
properties with no range declared.

I'm asking if anyone knows if Protege's interpretation of these
ontologies is "correct" or expected. If so, it would be great to have an
explanation, but I also understand that the answer may simply be:
because the OWL document says so.

kc




>
>> These may indeed be erroneous, but it appears the Protege does make
>> decisions in the absence of these statements.
>>
>>
>>>
>>>> I have OWL objectProperties with a domain and no range. These are
>>>> converted to annotation properties. I assume that is because the empty
>>>> range declaration is interpreted as rdf:Resource, which means it could
>>>> be EITHER a literal OR a datatype or objectProperty, thus requiring it
>>>> to adhere to annotationProperty rules.
>>>
>>> It was probably parsed as an annotation property because the OWL API
>>> can’t determine from it’s usage (and the fact that the type isn’t
>>> declared) what type it is.  Annotation properties don’t have any logical
>>> import, so rather than potentially making the wrong choice, leading to
>>> wrong conclusions, annotation properties are chosen as the safest bet.
>>>  (This way you also don’t lose the triple).
>>
>>
>> Yes, that was my conclusion, but I was wanting to confirm that was the
>> intended Protege action.
>
> o.k.  It’s hard to see what actually happened without seeing the
> complete ontology, but it looks like the OWL API pieced together various
> bits of information to do what it did.
>
>>> I’m not sure what the following questions is below…. which one is being
>>> interpreted incorrectly?  Also, it’s hard to say without seeing the
>>> complete ontology to provide more context.
>>>
>>>> *** FRBRer OWL ****
>>>>
>>>> frbrer:P3057
>>>>   RegAp:name "hasPlaceOfPublicationOrDistribution"@en ;
>>>>   RegAp:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>>>>   a owl:NamedIndividual, owl:ObjectProperty ;
>>>>   rdfs:comment "Source documentation has
>>>> \"publication/distribution\"; slash character replaced with \"or\" to
>>>> improve clarity."@en ;
>>>>   rdfs:domain frbrer:C1003 ;
>>>>   rdfs:isDefinedBy <http://iflastandards.info/ns/fr/frbr/frbrer/> ;
>>>>   rdfs:label "has place of publication or distribution"@en ;
>>>>   owl:propertyDisjointWith frbrer:P3058 ;
>>>>   skos:definition "Relates a manifestation to the city, town, or
>>>> other locality associated in the manifestation with the name of the
>>>> publisher or distributor."@en ;
>>>>   skos:scopeNote "The place of publication may comprise the name of
>>>> the state, province, territory, and/or country as well as the local
>>>> place name. A manifestation may be associated with one or more places
>>>> of publication or distribution."@en .
>>>
>>> If you use frbrer:P3057 with a class, or property (any type) as a
>>> subject then frbrer:P3057 must be interpreted as an annotation property
>>> (in this case also punned as an individual and an object property).
>>
>> I don't believe there is punning happening here. I believe this is an
>> error in the implementation of OWL. Note that this is the code BEFORE
>> it is imported into Protege.
>
> There is still punning in this example.  There are two triples ( a
> owl:NamedIndividual, owl:ObjectProperty ) that type this frbrer:P3057 as
> an individual and an object property, which is basically punning.
>
>>>> **** Next: RDA in RDF ****
>>>>
>>>> I have RDF properties with a domain and no range that are, however,
>>>> re-cast as OWL:objectProperties in Protege:
>>>>
>>>> <http://rdaregistry.info/Elements/e/P20226>
>>>>   reg:name "horizontalScaleOfCartographicContent"@en ;
>>>>   reg:status <http://metadataregistry.org/uri/RegStatus/1001> ;
>>>>   a rdf:Property ;
>>>>   rdfs:domain <http://rdaregistry.info/Elements/c/C10006> ;
>>>>   rdfs:isDefinedBy <http://rdaregistry.info/Elements/e/> ;
>>>>   rdfs:label "has horizontal scale of cartographic content"@en ;
>>>>   rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
>>>> <http://rdaregistry.info/Elements/u/P60563> ;
>>>>   owl:sameAs
>>>> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent>
>>>> ;
>>>>   skos:definition "Relates an expression to the ratio of horizontal
>>>> distances in the cartographic content of a resource to the actual
>>>> distances they represent."@en .
>>>
>>> Is <http://rdaregistry.info/Elements/e/P20228> or
>>> <http://rdaregistry.info/Elements/u/P60563> an object property or used
>>> where only an object property could be used?
>>>  <http://rdaregistry.info/Elements/e/P20226> is a sub property of these
>>> properties, hence my question.
>>
>> That was also my question. But it turns out that the super-property
>> also leaves range undefined, so in the case it wouldn't matter. Still,
>> I'd like to know if class definitions of super-classes are taken into
>> account in the translation from RDF to OWL.
>
> I don’t know off the top of my head.  (Also without seeing the complete
> ontology).
>
>>> Also, owl:sameAs is used here, but owl:sameAs should only be used to
>>> specify that two individuals are the same.
>>
>> They are indeed the same.
>
> In that case, for properties (which is what you have above),
> owl:equivalentProperty should be used.  (For classes
> owl:equivalentClasses should be used.).  Using owl:sameAs here will
> cause <http://rdaregistry.info/Elements/e/P20226> and
> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> to
> be punned as individuals during parsing.
>
>>>> ****
>>>> Is this the expected behavior? Are super/sub-classes and
>>>> super/sub-properties included in the translation decisions?
>>>
>>> They could be if the properties are not declared.  Technically all of
>>> these examples should be rejected as not being well formed OWL RDF
>>> graphs.
>>>
>>
>> I actually am glad that Protege does its best to maintain them, but I
>> would LOVE to get some messages relating to conversion decisions. I
>> realize, though, that with a large vocabulary that could become
>> somewhat overwhelming.
>
>   It looks like there will be handlers in future versions of the OWL API
> (at least this has been discussed on the OWL API tracker) so that tools
> like Protege can prompt users for types (it might be that types are
> suggested and then it’s a matter of accepting them).
>
> Cheers,
>
> Matthew
>
>
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

"same as" isn't always spelled "owl:sameAs" [Was: RDF/RDFS -> OWL]

Eric Prud'hommeaux
In reply to this post by Matthew Horridge-2
* Matthew Horridge <[hidden email]> [2014-05-28 17:33-0700]

>
> On 28 May 2014, at 17:04, Karen Coyle <[hidden email]> wrote:
>
> > On 5/28/14, 2:26 PM, Matthew Horridge wrote:
> >
> >>
> >>> I have RDF properties with a domain and no range that are, however,
> >>> re-cast as OWL:objectProperties in Protege:
> >>>
> >>> <http://rdaregistry.info/Elements/e/P20226> # …
> >>>   rdfs:subPropertyOf <http://rdaregistry.info/Elements/e/P20228>,
> >>> <http://rdaregistry.info/Elements/u/P60563> ;
> >>>   owl:sameAs
> >>> <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent>
> >>> # …
> >>>  .
> >>
> >> Is <http://rdaregistry.info/Elements/e/P20228> or
> >> <http://rdaregistry.info/Elements/u/P60563> an object property or used
> >> where only an object property could be used?
> >>  <http://rdaregistry.info/Elements/e/P20226> is a sub property of these
> >> properties, hence my question.
> >

> >> Also, owl:sameAs is used here, but owl:sameAs should only be used to
> >> specify that two individuals are the same.
> >
> > They are indeed the same.
>
> In that case, for properties (which is what you have above), owl:equivalentProperty should be used.  (For classes owl:equivalentClasses should be used.).  Using owl:sameAs here will cause <http://rdaregistry.info/Elements/e/P20226> and <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> to be punned as individuals during parsing.

I don't think that Karen ment "the same" in the way Hatthew was asking. I think Karen meant "they are the same property", and that the ontology that recorded the sameAs was in error using sameAs rather than

Table 16 in "Mapping to RDF Graphs" <http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Parsing_of_Axioms> says:

  RDF                            OWL Functional Syntax
  ----------------------------   ------------------------------------------
  x owl:sameAs y .               SameIndividual( x y )

  x owl:equivalentClass y .      EquivalentClasses( CE(x) CE(y) )
  { CE(x) ≠ ε and CE(y) ≠ ε }  

  x owl:equivalentProperty y .   EquivalentObjectProperties( OPE(x) OPE(y) )
  { OPE(x) ≠ ε and OPE(y) ≠ ε }

  x owl:equivalentProperty y .   EquivalentDataProperties( DPE(x) DPE(y) )
  { DPE(x) ≠ ε and DPE(y) ≠ ε }

The notation in §2.1 <http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Translation_of_Axioms_without_Annotations> defines CE, OPE and DPE:

  CE   class expression
  OPE  object property expression
  DPE  data property expression

"Parsing" an RDF assertion like { X owl:equivalentProperty Y . } into OWL requires sniffing around for evidence for whether x and y are object or data properties. Rampant colloquial use of the term "same as"¹ has lead us to believe that similar logic works for owl:sameAs, but these mappings are simply not present:

  x notOwl:sameAs y .            EquivalentClasses( CE(x) CE(y) )
  { CE(x) ≠ ε and CE(y) ≠ ε }  

  x notOwl:sameAs y .            EquivalentObjectProperties( OPE(x) OPE(y) )
  { OPE(x) ≠ ε and OPE(y) ≠ ε }

  x notOwl:sameAs y .            EquivalentDataProperties( DPE(x) DPE(y) )
  { DPE(x) ≠ ε and DPE(y) ≠ ε }


¹ One often hears "and if you discover later on that one property or class is the same as another, you can add a 'same as'", which *stongly* implies that you write it "owl:sameAs".

--
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

([hidden email])
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: "same as" isn't always spelled "owl:sameAs" [Was: RDF/RDFS -> OWL]

kcoyle


On 5/29/14, 1:56 AM, Eric Prud'hommeaux wrote:

>> In that case, for properties (which is what you have above), owl:equivalentProperty should be used.  (For classes owl:equivalentClasses should be used.).  Using owl:sameAs here will cause <http://rdaregistry.info/Elements/e/P20226> and <http://rdaregistry.info/Elements/e/horizontalScaleOfCartographicContent> to be punned as individuals during parsing.
>
> I don't think that Karen ment "the same" in the way Hatthew was asking. I think Karen meant "they are the same property", and that the ontology that recorded the sameAs was in error using sameAs rather than
>

The way that owl:sameAs is being used in the ontology (which I didn't
create) is that the two URIs are synonymous. In other words, the
intention, as I read it, is that the same property is being defined with
two equivalent URIs; there is one property declaration, two identifiers
for the property, although one of them is only declared in the
owl:sameAs statement. It's an interesting use case, and one I haven't
seen before. I'm not sure where it fits in to the rules for equivalent
properties, below, since I can't tease out what "property-ness" the
synonymous URI has. owl:equivalentProperty is probably the actual intention.

kc



> Table 16 in "Mapping to RDF Graphs" <http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Parsing_of_Axioms> says:
>
>    RDF                            OWL Functional Syntax
>    ----------------------------   ------------------------------------------
>    x owl:sameAs y .               SameIndividual( x y )
>
>    x owl:equivalentClass y .      EquivalentClasses( CE(x) CE(y) )
>    { CE(x) ≠ ε and CE(y) ≠ ε }
>
>    x owl:equivalentProperty y .   EquivalentObjectProperties( OPE(x) OPE(y) )
>    { OPE(x) ≠ ε and OPE(y) ≠ ε }
>
>    x owl:equivalentProperty y .   EquivalentDataProperties( DPE(x) DPE(y) )
>    { DPE(x) ≠ ε and DPE(y) ≠ ε }
>
> The notation in §2.1 <http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Translation_of_Axioms_without_Annotations> defines CE, OPE and DPE:
>
>    CE   class expression
>    OPE  object property expression
>    DPE  data property expression
>
> "Parsing" an RDF assertion like { X owl:equivalentProperty Y . } into OWL requires sniffing around for evidence for whether x and y are object or data properties. Rampant colloquial use of the term "same as"¹ has lead us to believe that similar logic works for owl:sameAs, but these mappings are simply not present:
>
>    x notOwl:sameAs y .            EquivalentClasses( CE(x) CE(y) )
>    { CE(x) ≠ ε and CE(y) ≠ ε }
>
>    x notOwl:sameAs y .            EquivalentObjectProperties( OPE(x) OPE(y) )
>    { OPE(x) ≠ ε and OPE(y) ≠ ε }
>
>    x notOwl:sameAs y .            EquivalentDataProperties( DPE(x) DPE(y) )
>    { DPE(x) ≠ ε and DPE(y) ≠ ε }
>
>
> ¹ One often hears "and if you discover later on that one property or class is the same as another, you can add a 'same as'", which *stongly* implies that you write it "owl:sameAs".
>

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Timothy Redmond
In reply to this post by Steve Wartik
On 05/28/2014 11:10 AM, Wartik, Steven P "Steve" wrote:
> Karen,
>
> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the definitive reference. It's not always easy reading, but (as assorted OWL API developers have patiently explained to me) it's what Protégé follows. You will observe from reading it that certain RDF constructs are dropped as triples are imported, something that unfortunately happens silently in Protégé.

There is one part of this specification that the OWL api generally
ignores (unless you set a flag).  This specification has a clause that
states that if any triples cannot be unambiguously parsed then the parse
should fail.  In all probability this clause applies to the ontologies
being discussed.

-Timothy


>
> Regards,
>
> Steve Wartik
>
> -----Original Message-----
> From: protege-user [mailto:[hidden email]] On Behalf Of Karen Coyle
> Sent: Wednesday, May 28, 2014 1:28 PM
> To: [hidden email]
> Subject: [protege-user] RDF/RDFS -> OWL
>
> Many of the ontologies I work with are defined primarily using RDF/S. On import into Protege, they are converted to OWL. I'm not always sure what conversion results to expect. Is there documentation on the RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>
> Thanks,
> kc
> --
> Karen Coyle
> [hidden email] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

kcoyle
Timothy, are you saying that this the flag is an option in Protege? - kc

On 5/29/14, 8:53 AM, Timothy Redmond wrote:

> On 05/28/2014 11:10 AM, Wartik, Steven P "Steve" wrote:
>> Karen,
>>
>> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the
>> definitive reference. It's not always easy reading, but (as assorted
>> OWL API developers have patiently explained to me) it's what Protégé
>> follows. You will observe from reading it that certain RDF constructs
>> are dropped as triples are imported, something that unfortunately
>> happens silently in Protégé.
>
> There is one part of this specification that the OWL api generally
> ignores (unless you set a flag).  This specification has a clause that
> states that if any triples cannot be unambiguously parsed then the parse
> should fail.  In all probability this clause applies to the ontologies
> being discussed.
>
> -Timothy
>
>
>>
>> Regards,
>>
>> Steve Wartik
>>
>> -----Original Message-----
>> From: protege-user [mailto:[hidden email]] On
>> Behalf Of Karen Coyle
>> Sent: Wednesday, May 28, 2014 1:28 PM
>> To: [hidden email]
>> Subject: [protege-user] RDF/RDFS -> OWL
>>
>> Many of the ontologies I work with are defined primarily using RDF/S.
>> On import into Protege, they are converted to OWL. I'm not always sure
>> what conversion results to expect. Is there documentation on the
>> RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>>
>> Thanks,
>> kc
>> --
>> Karen Coyle
>> [hidden email] http://kcoyle.net
>> m: 1-510-435-8234
>> skype: kcoylenet
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user

--
Karen Coyle
[hidden email] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: RDF/RDFS -> OWL

Timothy Redmond
On 05/29/2014 09:09 AM, Karen Coyle wrote:
> Timothy, are you saying that this the flag is an option in Protege? - kc

I don't think that this flag is exposed by the Protege interface though
it does exist in the underlying OWL api.  In my personal opinion I think
that Protege should include a strict parse option but I will defer to
Matthew et al on this.

I think that a lot of energy has been spent by various people trying to
understand how the OWL api parses RDF files that are ambiguous. I once
spent half a day trying to isolate an OWL reasoner bug only to realize
that the source of the problem - and the reason that I could not isolate
the issue - actually revolved around the way that an RDF file was parsed
into OWL 2.

-Timothy


>
> On 5/29/14, 8:53 AM, Timothy Redmond wrote:
>> On 05/28/2014 11:10 AM, Wartik, Steven P "Steve" wrote:
>>> Karen,
>>>
>>> http://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/ is the
>>> definitive reference. It's not always easy reading, but (as assorted
>>> OWL API developers have patiently explained to me) it's what Protégé
>>> follows. You will observe from reading it that certain RDF constructs
>>> are dropped as triples are imported, something that unfortunately
>>> happens silently in Protégé.
>>
>> There is one part of this specification that the OWL api generally
>> ignores (unless you set a flag).  This specification has a clause that
>> states that if any triples cannot be unambiguously parsed then the parse
>> should fail.  In all probability this clause applies to the ontologies
>> being discussed.
>>
>> -Timothy
>>
>>
>>>
>>> Regards,
>>>
>>> Steve Wartik
>>>
>>> -----Original Message-----
>>> From: protege-user [mailto:[hidden email]] On
>>> Behalf Of Karen Coyle
>>> Sent: Wednesday, May 28, 2014 1:28 PM
>>> To: [hidden email]
>>> Subject: [protege-user] RDF/RDFS -> OWL
>>>
>>> Many of the ontologies I work with are defined primarily using RDF/S.
>>> On import into Protege, they are converted to OWL. I'm not always sure
>>> what conversion results to expect. Is there documentation on the
>>> RDF->OWL decision-tree? I did look on the wiki, but couldn't find it.
>>>
>>> Thanks,
>>> kc
>>> --
>>> Karen Coyle
>>> [hidden email] http://kcoyle.net
>>> m: 1-510-435-8234
>>> skype: kcoylenet
>>> _______________________________________________
>>> protege-user mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>>
>>> _______________________________________________
>>> protege-user mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user