- From: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
- Date: Thu, 14 Mar 2024 13:07:22 -0400
- To: Souripriya Das <souripriya.das@oracle.com>
- Cc: RDF-star WG <public-rdf-star-wg@w3.org>
- Message-Id: <7E566DD3-6C74-4840-AA45-9C542D958D3B@openlinksw.com>
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