Re: RDF* semantics

On 8/30/19 11:36 AM, Olaf Hartig wrote:
> Kingsley,
>
> I notice that the following line in your example document is commented (also 
> in the correction that you sent later).
>
> # Alice:  :claims  <http://example.org/Bob> .
>
> Is this line commented intentionally?
>
> Also, in the line you are using the IRI <http://example.org/Bob>, whereas in 
> the rest of the document you are using the IRI <http://example.org/Bob#>. 
> These are two different IRIs. Was this your intention? If yes, what's the 
> reason?
>
> Note that the last five lines part of your document (the part that uses RDF 
> reification) can be written more concisely in Turtle* as follows (assuming RDF* 
> is used in SA mode):
>
> Alice:  :describes << Bob: foaf:age "23"^^xsd:integer >> .
>
> Thanks,
> Olaf


You are saying that in RDF* you would like the following snippet to
become RDF-Turtle notation, which isn't the case today:

Alice:  :describes << Bob: foaf:age "23"^^xsd:integer >> .


Here's a fixed version of my example. I've rebased identifiers for Alice
and Bob using an indexical
<https://www.lexico.com/en/definition/indexical#this> relative to
document (context provider)  (as per my very first example).

## Turtle Start ##

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix : <#> .

<> a foaf:Document .
<> foaf:name "Document about Alice"@en .
<> foaf:primaryTopic :Alice . 
 

:Alice  rdf:type  foaf:Person .
:Alice  foaf:name  "Alice" .

:Bob  rdf:type  foaf:Person .
:Bob  foaf:name  "Bob" .
:Bob  foaf:age "23"^^xsd:integer .

# Context clarity regarding :claims relation

:claims a rdf:Property .
:claims rdfs:domain foaf:Person . 
:claims rdfs:range rdf:Statement . 


# Olaf would like the following to as syntax-sugar (*rather than change to existing RDF semantics*):
# :Alice :claims << :Bob foaf:age "23"^^xsd:integer >> .
# for what follows

:Alice  :claims  [ a rdf:Statement;
                     rdf:subject :Bob ;
                     rdf:predicate foaf:age ;
                     rdf:object "23"^^xsd:integer 
                  ] . 

## Turtle End ##

Links:

[1] https://kingsley.idehen.net/public_home/kidehen/Public/Linked%20Data%20Documents/Tutorials/label-property-graph-stuff/alice-describes-bob.txt -- Text document that nanotation-friendly (i.e., processed by our OSDS Browser Extension for visualization effect)

[2] https://kingsley.idehen.net/public_home/kidehen/Public/Linked%20Data%20Documents/Tutorials/label-property-graph-stuff/alice-describes-bob.ttl -- RDF-Turtle Document 

>
>
> On fredag 30 augusti 2019 kl. 09:57:29 CEST Kingsley Idehen wrote:
>> On 8/30/19 8:04 AM, Olaf Hartig wrote:
>>> Thomas,
>>>
>>> Just to add to Pierre-Antoine's response, perhaps it is necessary to
>>> emphasize that you should not get hung up on the fact that the example
>>> uses blank nodes. That's also secondary to the point I am trying to
>>> make. So, instead of using blank nodes, we may present the example data
>>> with two IRIs that denote Alice and Bob, respectively. For instance, if
>>> we replace _:b1 by IRI http://example.org/Alice and _:b2 by IRI
>>> http://example.org/Bob, then we have the following snippet of Turtle
>>> (prefix declarations omitted).
>>>
>>> <http://example.org/Alice>  rdf:type  foaf:Person .
>>> <http://example.org/Alice>  foaf:name  "Alice" .
>>> <http://example.org/Alice>  :claims  <http://example.org/Bob> .
>>> <http://example.org/Bob>  rdf:type  foaf:Person .
>>> <http://example.org/Bob>  foaf:name  "Bob" .
>>> <http://example.org/Bob>  foaf:age "23"^^xsd:integer .
>>>
>>> Perhaps now it becomes more apparent that, according to this data,
>>> person Alice claims the person Bob (who is of age 23). This is different
>>> than saying that person Alice makes the following claim: the thing
>>> denoted by IRI is a person named Bob who is of age 23.
>>>
>>> Best,
>>> Olaf
>> Hi Olaf,
>>
>> I think your example above needs a little more context i.e., clarity of
>> the relationship type (i.e., :claims in this example) that connects
>> Alice and Bob. Here's how I would add the missing context using
>> RDF-Turtle notation.
>>
>>
>> Fundamentally, the claims (in the form of a collection of RDF
>> statements) made by Alice are conveyed in a Document.
>>
>> ## Turtle Start ##
>>
>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
>> @prefix foaf: <http://xmlns.com/foaf/0.1/> .
>> @prefix Alice: <http://example.org/Alice#>.
>> @prefix Bob: <http://example.org/Bob#> .
>> @prefix : <#> .
>>
>> <> a foaf:Document .
>> <> foaf:name "Document about Alice"@en .
>> <> foaf:primaryTopic Alice: .
>>
>>
>> Alice:  rdf:type  foaf:Person .
>> Alice:  foaf:name  "Alice" .
>>
>> # Alice:  :claims  <http://example.org/Bob> .
>>
>> Bob:  rdf:type  foaf:Person .
>> Bob:  foaf:name  "Bob" .
>> Bob:  foaf:age "23"^^xsd:integer .
>>
>> # Context clarity regarding :describes relation
>>
>> :describes a rdf:Property .
>> :describes rdfs:domain foaf:Person .
>> :describes rdfs:range rdf:Statement .
>>
>> Alice:  :describes  [ a rdf:Statement;
>>                         rdf:subject Bob: ;
>>                         rdf:predicate foaf:age ;
>>                         rdf:object "23"^^xsd:integer
>>                     ] .
>>
>> ## Turtle End ##
>>
>> Links:
>>
>> [1]
>> https://kingsley.idehen.net/public_home/kidehen/Public/Linked%20Data%20Docu
>> ments/Tutorials/label-property-graph-stuff/alice-describes-bob.txt -- Text
>> document that nanotation-friendly (i.e., processed by our OSDS Browser
>> Extension for visualization effect)
>>
>> [2]
>> https://kingsley.idehen.net/public_home/kidehen/Public/Linked%20Data%20Docu
>> ments/Tutorials/label-property-graph-stuff/alice-describes-bob.ttl --
>> RDF-Turtle Document
>

-- 
Regards,

Kingsley Idehen       
Founder & CEO 
OpenLink Software   
Home Page: http://www.openlinksw.com
Community Support: https://community.openlinksw.com
Weblogs (Blogs):
Company Blog: https://medium.com/openlink-software-blog
Virtuoso Blog: https://medium.com/virtuoso-blog
Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers

Personal Weblogs (Blogs):
Medium Blog: https://medium.com/@kidehen
Legacy Blogs: http://www.openlinksw.com/blog/~kidehen/
              http://kidehen.blogspot.com

Profile Pages:
Pinterest: https://www.pinterest.com/kidehen/
Quora: https://www.quora.com/profile/Kingsley-Uyi-Idehen
Twitter: https://twitter.com/kidehen
Google+: https://plus.google.com/+KingsleyIdehen/about
LinkedIn: http://www.linkedin.com/in/kidehen

Web Identities (WebID):
Personal: http://kingsley.idehen.net/public_home/kidehen/profile.ttl#i
        : http://id.myopenlink.net/DAV/home/KingsleyUyiIdehen/Public/kingsley.ttl#this

Received on Friday, 30 August 2019 16:13:54 UTC