Re: [External] : support for "bare" edges

On Mar 14, 2024, at 12:14 PM, Ted Thibodeau Jr <tthibodeau@openlinksw.com> wrote:
> 
>> On Mar 10, 2024, at 08:34 AM, Souripriya Das <souripriya.das@oracle.com <mailto:souripriya.das@oracle.com>> wrote:
>> 
>> fixed a typo in the Turtle example.
>> 
>>> 
>>> From: Souripriya Das <souripriya.das@oracle.com <mailto:souripriya.das@oracle.com>>
>>> Sent: Sunday, March 10, 2024 8:23 AM
>>> To: RDF-star WG <public-rdf-star-wg@w3.org <mailto:public-rdf-star-wg@w3.org>>
>>> Subject: [External] : support for "bare" edges
>>>  
>>> Here is a scenario where surface syntax support for "bare" edges (i.e., edges with no annotations) is important. 
>>> 
>>> Consider two entities: Workers and Jobs, 
> 
> I think those are not entities, but classes.
> 
> 
>>> and a binary relationship "worksOn" connecting those two entities. 
> 
> I think that relationship connects instances of one of those 
> two classes to instances of the other class.
> 
> 
>>> There is also an attribute "daysPerWeek" for the "worksOn"  relationship. Most  workers work full-time. Only a handful that work part-time and "daysPerWeek" is populated only for part-time workers.
>> 

I missed this first time... Unpopulated values have no meaning
in the world of RDF. This is the "Open World Assumption"; only 
values which are explicitly stated are known. NULLs cannot be interpreted as "5" nor "7" for purposes of your example. They 
MUST be treated as "unknown".


>>> A PG-minded user wants to only use "atomic" reifications because that is closest to the concept of edges in PG and comes up with the following:
>>> 
>>> :e1 rdf:reifies <<( :w1 :worksOn :job1  )>> .
>>> :e2 rdf:reifies <<( :w2 :worksOn :job1 )>> .
>>> :e2 :daysPerWeek 3 . 
>>> 
>>> The ability to have a bare edge like :e1 above is important to avoid unnecessary increase in data size. 
> 
> You can always leave out any statements for which you have 
> no value/object for a property/attribute/predicate of a 
> subject/entity. RDF is perfectly suited to such sparse data.
> This is true whether the subject in question is an entity,
> a triple term, a pumpkin, etc.

Bare edges like :e1 are just that -- BARE!

The data size increase inherent in declaring 7 (or 5) as the
value for :daysPerWeek is unavoidable in the model as described,
in *RDF*. There might be a remodeling that would allow for some
wildcard declaration, along the lines of "unless otherwise
declared, :daysPerWeek is 7 (or 5)". 


>>> Also, just to compare with PG, bare edges (i.e., edges with no edge-properties) are fully supported in PG.
>> 

This might be a use case that requires PG or SQL, where NULL
cells are permitted to be interpreted as whatever value the
user wants.


>>> Using Turtle shortcuts, the 2nd and 3rd triple above may be compacted into a single statement.
>>> 
>>> :e1 rdf:reifies <<( :w1 :worksOn :job1 )>> .
>>> << :e2 | :w2 :worksOn :job1 >> :daysPerWeek 3 .
>>> 
>>> Thanks,
>>> Souri.


Regards,

Ted





--
A: Yes.                          http://www.idallen.com/topposting.html
| Q: Are you sure?           
| | A: Because it reverses the logical flow of conversation.
| | | Q: Why is top posting frowned upon?

Ted Thibodeau, Jr.           //                tel:+1-781-273-0900,1,32
Senior Support & Evangelism  //        mailto:tthibodeau@openlinksw.com
                             //              http://twitter.com/TallTed
OpenLink Software, Inc.      //               http://www.openlinksw.com
    117 Kendrick Street, Suite 300, Needham Heights, MA 02494-2722
     Weblog    -- http://www.openlinksw.com/blogs/
     Community -- https://community.openlinksw.com/
     LinkedIn  -- http://www.linkedin.com/company/openlink-software/
     Twitter   -- http://twitter.com/OpenLink
     Facebook  -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers

Received on Thursday, 14 March 2024 17:07:33 UTC