RE: FOAF DL

2010-07-24 Thread Michael Schneider
Hi!

One note of caution!

The FOAF-DL ontology is only (approximately) equivalent to the original
version of FOAF in OWL /2/, since OWL keys have only been introduced as of
OWL 2. Older existing systems that depend on the FOAF inverse-functional
data properties (IFDPs) have to make sure that they can also work with the
new OWL 2 keys, before switching to the FOAF-DL ontology. 

If such a system internally uses a reasoner that is able to work with IFDPs
but does not know about OWL 2 keys (e.g. the current version of the Jena
rule reasoner), then the system will not be able to make the expected
inferences anymore, i.e. that two foaf:Person having the same mbox_sha1sum
are the same person. So one will have to decide to either stay with the old
FOAF ontology, or to replace the currently used reasoner.
 
This is, of course, a general problem when trying to upgrade to a newer
specification. But it should at least be stated explicitly, when publishing
a variant of an ontology that is in wide use.

Michael

-Original Message-
From: semantic-web-requ...@w3.org [mailto:semantic-web-requ...@w3.org]
On Behalf Of Antoine Zimmermann
Sent: Friday, July 16, 2010 1:17 PM
To: foaf-...@lists.foaf-project.org; Semantic Web; Linked Data community
Subject: FOAF DL

Dear all,


I know that the compatibility of FOAF with OWL DL has been discussed a
lot in the past (and still sometimes surfaces again).  However, I'm
wondering, would it be reasonable to provide a DL version of FOAF in
complement of the official FOAF ontology?
More generally, wouldn't it be reasonable to provide alternative
versions of an ontology?  Think of XHTML: there are three different XML
Schemas for XHTML [1].  One could imagine alternative versions like FOAF
(Full), FOAF-DL, FOAF-lite...

Anyway, I did it: I've made a FOAF-DL ontology which modifies the FOAF
ontology such that (1) it is in OWL 2 DL and (2) it maximally preserves
inferences of the original FOAF ontology [2].

Interestingly, FOAF-DL is an OWL 2 RL ontology (in a nutshell, OWL 2 RL
is a subset of OWL 2 DL with low computational complexity and that is
compatible with rule-based inference engine).

You may notice that there are strange annotation properties for this
ontology:

owl:Ontology rdf:about=http://purl.org/az/foaf#;
   ...
   yoda:preferredVersion rdf:resource=http://xmlns.com/foaf/0.1//
   ...
/owl:Ontology

The Yoda vocabulary [3] is used to relate alternative versions of an
ontology. Here, it is said that there is a preferred version, which is
the official FOAF ontology.

Critiques to any of the previous comments are welcome.


[1] http://www.w3.org/TR/xhtml1-schema/#schemas
[2] The FOAF-DL ontology. http://purl.org/az/foaf
[3] Yoda: A Vocabulary for Linking Alternative Specifications of a
Vocabulary. http://purl.org/NET/yoda


Regards,
--
Antoine Zimmermann
Post-doctoral researcher at:
Digital Enterprise Research Institute
National University of Ireland, Galway
IDA Business Park
Lower Dangan
Galway, Ireland
antoine.zimmerm...@deri.org
http://vmgal34.deri.ie/~antzim/

--
Dipl.-Inform. Michael Schneider
Research Scientist, Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schnei...@fzi.de
WWW  : http://www.fzi.de/michael.schneider
===
FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts, Az 14-0563.1, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
===



Re: FOAF DL

2010-07-19 Thread Javier de la Cueva
El 16/07/10 13:16, Antoine Zimmermann escribió:
 Dear all,
 
 

[...]

 
 The Yoda vocabulary [3] is used to relate alternative versions of an
 ontology. Here, it is said that there is a preferred version, which is
 the official FOAF ontology.
 
 Critiques to any of the previous comments are welcome.
 

Not a critique to the previous comments but I think it would be
interesting to include an IP license in your work :-)

Thank you for your Yoda vocabulary.

--
Best regards,
Javier de la Cueva




FOAF DL

2010-07-16 Thread Antoine Zimmermann

Dear all,


I know that the compatibility of FOAF with OWL DL has been discussed a 
lot in the past (and still sometimes surfaces again).  However, I'm 
wondering, would it be reasonable to provide a DL version of FOAF in 
complement of the official FOAF ontology?
More generally, wouldn't it be reasonable to provide alternative 
versions of an ontology?  Think of XHTML: there are three different XML 
Schemas for XHTML [1].  One could imagine alternative versions like FOAF 
(Full), FOAF-DL, FOAF-lite...


Anyway, I did it: I've made a FOAF-DL ontology which modifies the FOAF 
ontology such that (1) it is in OWL 2 DL and (2) it maximally preserves 
inferences of the original FOAF ontology [2].


Interestingly, FOAF-DL is an OWL 2 RL ontology (in a nutshell, OWL 2 RL 
is a subset of OWL 2 DL with low computational complexity and that is 
compatible with rule-based inference engine).


You may notice that there are strange annotation properties for this 
ontology:


owl:Ontology rdf:about=http://purl.org/az/foaf#;
  ...
  yoda:preferredVersion rdf:resource=http://xmlns.com/foaf/0.1//
  ...
/owl:Ontology

The Yoda vocabulary [3] is used to relate alternative versions of an 
ontology. Here, it is said that there is a preferred version, which is 
the official FOAF ontology.


Critiques to any of the previous comments are welcome.


[1] http://www.w3.org/TR/xhtml1-schema/#schemas
[2] The FOAF-DL ontology. http://purl.org/az/foaf
[3] Yoda: A Vocabulary for Linking Alternative Specifications of a 
Vocabulary. http://purl.org/NET/yoda



Regards,
--
Antoine Zimmermann
Post-doctoral researcher at:
Digital Enterprise Research Institute
National University of Ireland, Galway
IDA Business Park
Lower Dangan
Galway, Ireland
antoine.zimmerm...@deri.org
http://vmgal34.deri.ie/~antzim/



Re: FOAF DL

2010-07-16 Thread Dave Reynolds
Looks interesting.

In the description you say (1) foaf:mbox_sha1sum, foaf:jabberID,
foaf:aimChatID, foaf:icqChatID, foaf:yahooChatID and foaf:msnChatID are
not owl:InverseFunctionalProperties anymore; instead, they are defined
as owl:Keys for foaf:Agents, which is practically the same

I agree that making them owl:Keys is the only option for DL but the
comment practically the same is maybe overstating it.

My understanding was that the semantics of Keys [1] only applies to
named individuals and so isn't effective on anonymous individuals (which
is a common use case in FOAF). Is that correct?

Dave

[1] http://www.w3.org/TR/owl2-direct-semantics/#Keys

On Fri, 2010-07-16 at 12:16 +0100, Antoine Zimmermann wrote: 
 Dear all,
 
 
 I know that the compatibility of FOAF with OWL DL has been discussed a 
 lot in the past (and still sometimes surfaces again).  However, I'm 
 wondering, would it be reasonable to provide a DL version of FOAF in 
 complement of the official FOAF ontology?
 More generally, wouldn't it be reasonable to provide alternative 
 versions of an ontology?  Think of XHTML: there are three different XML 
 Schemas for XHTML [1].  One could imagine alternative versions like FOAF 
 (Full), FOAF-DL, FOAF-lite...
 
 Anyway, I did it: I've made a FOAF-DL ontology which modifies the FOAF 
 ontology such that (1) it is in OWL 2 DL and (2) it maximally preserves 
 inferences of the original FOAF ontology [2].
 
 Interestingly, FOAF-DL is an OWL 2 RL ontology (in a nutshell, OWL 2 RL 
 is a subset of OWL 2 DL with low computational complexity and that is 
 compatible with rule-based inference engine).
 
 You may notice that there are strange annotation properties for this 
 ontology:
 
 owl:Ontology rdf:about=http://purl.org/az/foaf#;
...
yoda:preferredVersion rdf:resource=http://xmlns.com/foaf/0.1//
...
 /owl:Ontology
 
 The Yoda vocabulary [3] is used to relate alternative versions of an 
 ontology. Here, it is said that there is a preferred version, which is 
 the official FOAF ontology.
 
 Critiques to any of the previous comments are welcome.
 
 
 [1] http://www.w3.org/TR/xhtml1-schema/#schemas
 [2] The FOAF-DL ontology. http://purl.org/az/foaf
 [3] Yoda: A Vocabulary for Linking Alternative Specifications of a 
 Vocabulary. http://purl.org/NET/yoda
 
 
 Regards,





Re: FOAF DL

2010-07-16 Thread Antoine Zimmermann

Beware, technical stuff follows.



Le 16/07/2010 13:07, Dave Reynolds a écrit :

Looks interesting.

In the description you say (1) foaf:mbox_sha1sum, foaf:jabberID,
foaf:aimChatID, foaf:icqChatID, foaf:yahooChatID and foaf:msnChatID are
not owl:InverseFunctionalProperties anymore; instead, they are defined
as owl:Keys for foaf:Agents, which is practically the same

I agree that making them owl:Keys is the only option for DL but the
comment practically the same is maybe overstating it.

My understanding was that the semantics of Keys [1] only applies to
named individuals and so isn't effective on anonymous individuals (which
is a common use case in FOAF). Is that correct?


Yes, you are correct.

Here, I made a simplifying short cut but saying practically the same. 
In most cases, a blank node can be simply considered as a named 
individual, using the blank node ID (regardless of whether it is 
specified in the serialisation or internally represented) as a name 
for the individual.
In this case, the un-named individual are only those that exists because 
of inferences but which have no identifier at all (for instance, when 
using the OWL construct owl:someValueFrom.


Such shortcuts are practically used in reasoners to deduce things about 
blank nodes in the same way they deduce things about URIs.



Using this approach on the following data:


foaf:yahooChatID a owl:DatatypeProperty ;
 rdfs:domain foaf:Agent .
foaf:Agent owl:hasKey ( foaf:yahooChatID ).
_:bnode1 foaf:yahooChatID xyz .
_:bnode2 foaf:yahooChatID xyz .


one can infer:


_:bnode1 owl:sameAs _:bnode2 .


When the serialisation does not specify a name for a blank node, their 
is still an internal name somewhere.  For instance:



[ a :Person ] foaf:yahooChatID xyz ;
   foaf:firstName John .
[ a :Person ] foaf:yahooChatID xyz ;
   foaf:lastName Doe .

allows one to infer that there is one person with first name John and 
last name Doe (but its local identifier is only known to the reasoner).


An example where the inference would not hold is as follows:

:chatID a owl:DatatypeProperty ;
rdfs:domain :Agent .
:Agent owl:hasKey ( :chatID ).
:hasFather a owl:ObjectProperty, owl:FunctionalProperty .
:john :chatId xyz .
:bob a [ owl:Restriction ;
 owl:onProperty :hasFather ;
 owl:allValuesFrom [ a owl:Restriction;
 owl:onProperty :chatId;
 owl:hasValue xyz ]
   ] .

from this, we cannot conclude that John is the father of Bob, although 
Bob has a father (un-named) whose :chatId is exactly the same as John.
If :chatId was inverse functional, we could conclude it. However, I said 
practically the same because this case is unlikely to occur in practice.



Hope it's clear enough. For the specs for keys, see [1,2,3].



[1] OWL 2 Web Ontology Language - Structural Specification and 
Functional-Style Syntax, Sect.9.5 Keys. 
http://www.w3.org/TR/owl2-syntax/#Keys
[2] OWL 2 Web Ontology Language - New Features and Rationale, Sect.2.2.6 
F9: Keys. http://www.w3.org/TR/owl2-new-features/#F9:_Keys
[3] OWL 2 Web Ontology Language - Direct Semantics, Sect.2.3.5 Keys. 
http://www.w3.org/TR/owl2-semantics/#Keys



Regards,


Dave

[1] http://www.w3.org/TR/owl2-direct-semantics/#Keys

On Fri, 2010-07-16 at 12:16 +0100, Antoine Zimmermann wrote:

Dear all,


I know that the compatibility of FOAF with OWL DL has been discussed a
lot in the past (and still sometimes surfaces again).  However, I'm
wondering, would it be reasonable to provide a DL version of FOAF in
complement of the official FOAF ontology?
More generally, wouldn't it be reasonable to provide alternative
versions of an ontology?  Think of XHTML: there are three different XML
Schemas for XHTML [1].  One could imagine alternative versions like FOAF
(Full), FOAF-DL, FOAF-lite...

Anyway, I did it: I've made a FOAF-DL ontology which modifies the FOAF
ontology such that (1) it is in OWL 2 DL and (2) it maximally preserves
inferences of the original FOAF ontology [2].

Interestingly, FOAF-DL is an OWL 2 RL ontology (in a nutshell, OWL 2 RL
is a subset of OWL 2 DL with low computational complexity and that is
compatible with rule-based inference engine).

You may notice that there are strange annotation properties for this
ontology:

owl:Ontology rdf:about=http://purl.org/az/foaf#;
...
yoda:preferredVersion rdf:resource=http://xmlns.com/foaf/0.1//
...
/owl:Ontology

The Yoda vocabulary [3] is used to relate alternative versions of an
ontology. Here, it is said that there is a preferred version, which is
the official FOAF ontology.

Critiques to any of the previous comments are welcome.


[1] http://www.w3.org/TR/xhtml1-schema/#schemas
[2] The FOAF-DL ontology. http://purl.org/az/foaf
[3] Yoda: A Vocabulary for Linking Alternative Specifications of a
Vocabulary. http://purl.org/NET/yoda


Regards,






--
Antoine Zimmermann
Post-doctoral researcher at:
Digital Enterprise Research Institute

Re: FOAF DL

2010-07-16 Thread Dave Reynolds
On Fri, 2010-07-16 at 16:17 +0100, Antoine Zimmermann wrote: 
 Beware, technical stuff follows.
 
 
 
 Le 16/07/2010 13:07, Dave Reynolds a écrit :
  Looks interesting.
 
  In the description you say (1) foaf:mbox_sha1sum, foaf:jabberID,
  foaf:aimChatID, foaf:icqChatID, foaf:yahooChatID and foaf:msnChatID are
  not owl:InverseFunctionalProperties anymore; instead, they are defined
  as owl:Keys for foaf:Agents, which is practically the same
 
  I agree that making them owl:Keys is the only option for DL but the
  comment practically the same is maybe overstating it.
 
  My understanding was that the semantics of Keys [1] only applies to
  named individuals and so isn't effective on anonymous individuals (which
  is a common use case in FOAF). Is that correct?
 
 Yes, you are correct.
 
 Here, I made a simplifying short cut but saying practically the same. 
 In most cases, a blank node can be simply considered as a named 
 individual, using the blank node ID (regardless of whether it is 
 specified in the serialisation or internally represented) as a name 
 for the individual.
 In this case, the un-named individual are only those that exists because 
 of inferences but which have no identifier at all (for instance, when 
 using the OWL construct owl:someValueFrom.
 
 Such shortcuts are practically used in reasoners to deduce things about 
 blank nodes in the same way they deduce things about URIs.
 
 
 Using this approach on the following data:
 
 
 foaf:yahooChatID a owl:DatatypeProperty ;
   rdfs:domain foaf:Agent .
 foaf:Agent owl:hasKey ( foaf:yahooChatID ).
 _:bnode1 foaf:yahooChatID xyz .
 _:bnode2 foaf:yahooChatID xyz .
 
 
 one can infer:
 
 
 _:bnode1 owl:sameAs _:bnode2 .
 
 
 When the serialisation does not specify a name for a blank node, their 
 is still an internal name somewhere.  For instance:
 
 
 [ a :Person ] foaf:yahooChatID xyz ;
 foaf:firstName John .
 [ a :Person ] foaf:yahooChatID xyz ;
 foaf:lastName Doe .
 
 allows one to infer that there is one person with first name John and 
 last name Doe (but its local identifier is only known to the reasoner).
 
 An example where the inference would not hold is as follows:
 
 :chatID a owl:DatatypeProperty ;
  rdfs:domain :Agent .
 :Agent owl:hasKey ( :chatID ).
 :hasFather a owl:ObjectProperty, owl:FunctionalProperty .
 :john :chatId xyz .
 :bob a [ owl:Restriction ;
   owl:onProperty :hasFather ;
   owl:allValuesFrom [ a owl:Restriction;
   owl:onProperty :chatId;
   owl:hasValue xyz ]
 ] .
 
 from this, we cannot conclude that John is the father of Bob, although 
 Bob has a father (un-named) whose :chatId is exactly the same as John.
 If :chatId was inverse functional, we could conclude it. However, I said 
 practically the same because this case is unlikely to occur in practice.
 
 
 Hope it's clear enough. For the specs for keys, see [1,2,3].

Yes that's clear and reasonable. 

I had looked at those parts of the specs but the phrasing in [1] seemed
to rule out blank nodes since the RDF semantics [3] specifically states
that blank nodes are existentially quantified variables:

are treated as simply indicating the existence of a thing, without
using, or saying anything about, the name of that thing. (This is not
the same as assuming that the blank node indicates an 'unknown' URI
reference; for example, it does not assume that there is any URI
reference which refers to the thing.

However, you are basically saying that the Skolemization lemma applies
here, which makes sense.

Thanks,
Dave

[3] http://www.w3.org/TR/rdf-mt/#unlabel


 [1] OWL 2 Web Ontology Language - Structural Specification and 
 Functional-Style Syntax, Sect.9.5 Keys. 
 http://www.w3.org/TR/owl2-syntax/#Keys
 [2] OWL 2 Web Ontology Language - New Features and Rationale, Sect.2.2.6 
 F9: Keys. http://www.w3.org/TR/owl2-new-features/#F9:_Keys
 [3] OWL 2 Web Ontology Language - Direct Semantics, Sect.2.3.5 Keys. 
 http://www.w3.org/TR/owl2-semantics/#Keys
 
 
 Regards,
 
  Dave
 
  [1] http://www.w3.org/TR/owl2-direct-semantics/#Keys
 
  On Fri, 2010-07-16 at 12:16 +0100, Antoine Zimmermann wrote:
  Dear all,
 
 
  I know that the compatibility of FOAF with OWL DL has been discussed a
  lot in the past (and still sometimes surfaces again).  However, I'm
  wondering, would it be reasonable to provide a DL version of FOAF in
  complement of the official FOAF ontology?
  More generally, wouldn't it be reasonable to provide alternative
  versions of an ontology?  Think of XHTML: there are three different XML
  Schemas for XHTML [1].  One could imagine alternative versions like FOAF
  (Full), FOAF-DL, FOAF-lite...
 
  Anyway, I did it: I've made a FOAF-DL ontology which modifies the FOAF
  ontology such that (1) it is in OWL 2 DL and (2) it maximally preserves
  inferences of the original FOAF ontology [2].
 
  Interestingly, FOAF-DL is an OWL 2 RL ontology