- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Tue, 10 Jun 2008 19:33:16 +0200
- To: kifer@cs.sunysb.edu
- CC: Rule Interchange Format Working Group WG <public-rif-wg@w3.org>
Michael Kifer wrote:
> I was just checking if this was the intent.
>
> I think it is enough to define this function by a bunch of axioms
>
> iriToStr("a"^^rif:iri "a"^^xs:string).
>
> and not bother with the preceding text in your message. It is much simpler that way.
It is debatable whether a syntactic or a semantic definition would be
simpler.
In any case, I would argue for a semantic definition for reasons of
uniformity, since the definitions of the other predicates and functions
in DTB are also semantic.
Best, Jos
>
> michael
>
> On Tue, 10 Jun 2008 19:22:10 +0200
> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>
>> Well, it was the only reasonable alternative I could think of for
>> casting IRIs to strings.
>>
>> I am personally actually not convinced that we even need such a casting
>> function, but there are some people who think it is useful.
>>
>> Best, Jos
>>
>> Michael Kifer wrote:
>>> This makes iriToString a multivalued function (i.e., the same iri has several
>>> string interpretations). Is this what we want?
>>>
>>>
>>> --michael
>>>
>>> On Tue, 10 Jun 2008 16:40:04 +0200
>>> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>>>
>>>> See [1] and preceding the messages in the thread for a description of
>>>> the semantic problems. In [1] I also proposed a casting predicate that
>>>> seems to work.
>>>>
>>>> In summary, the biggest semantic challenge in casting IRIs to strings is
>>>> that several different IRIs may be mapped to the same string. The
>>>> following was my proposal:
>>>>
>>>> "Let I be an interpretation, let u be an element in the domain of I, and
>>>> let {i1, ..., in} be the set of IRIs that denote u, i.e. for each ij (1
>>>> <= j <= n), IC(ij)=u. IR(iriToString)(u,"ij")=t for (1 <= j <= n);
>>>> IR(iriToString)(u,s)=f for every element s not in {"i1", ..., "in"}."
>>>>
>>>> The rule set
>>>> iriToString("b"^^rif:iri,"b"^^xsd:string)
>>>>
>>>> is satisfied in every RIF interpretation.
>>>>
>>>> I think this predicates should be sufficient for most of the use cases.
>>>>
>>>>
>>>> Best, Jos
>>>>
>>>> Rule Interchange Format Working Group Issue Tracker wrote:
>>>>> ISSUE-61 (IRI-Casts): Casting to/from rif:iri [DTB]
>>>>>
>>>>> http://www.w3.org/2005/rules/wg/track/issues/
>>>>>
>>>>> Raised by: Christopher Welty
>>>>> On product: DTB
>>>>>
>>>>> It is clear users of RIF dialects such as BLD will want to be able to convert (cast) instances of rif:iri to/from other datatypes, in particular strings and possibly rif:text.
>>>>>
>>>>> In general, a casting mechanism is not present in DTB and should be added.
>>>>>
>>>>>
>>>>>
>
--
Jos de Bruijn debruijn@inf.unibz.it
+390471016224 http://www.debruijn.net/
----------------------------------------------
Public speaking is the art of diluting a two-
minute idea with a two-hour vocabulary.
- Evan Esar
Received on Tuesday, 10 June 2008 17:32:36 UTC