Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define predicate gist:offers to use with Offer in place of hasDirectPart #528

Closed
rjyounes opened this issue Aug 9, 2021 · 25 comments · Fixed by #1102
Closed

Define predicate gist:offers to use with Offer in place of hasDirectPart #528

rjyounes opened this issue Aug 9, 2021 · 25 comments · Fixed by #1102
Assignees

Comments

@rjyounes
Copy link
Collaborator

rjyounes commented Aug 9, 2021

The relevant restriction on gist:Offer:

  a owl:Restriction ;
  owl:onProperty gist:hasDirectPart ;
  owl:someValuesFrom gist:CatalogItem ;

hasDirectPart is not specific enough, IMO, to represent the relationship between an offer and the thing being offered. I propose isOfferOf.

@rjyounes rjyounes changed the title Define predicate isOfferOf to use with Offer rather than hasDirectPart Define predicate isOfferOf to use with Offer in place of hasDirectPart Aug 9, 2021
@uscholdm
Copy link
Contributor

uscholdm commented Aug 9, 2021

Is this solving an existing problem or a possible future problem?

@uscholdm
Copy link
Contributor

@rjyounes Do you still want to pursue this? If not, close.

@rjyounes
Copy link
Collaborator Author

I'd like to keep it. I've come across this in client work.

@uscholdm
Copy link
Contributor

isOfferOf is clunky. Here are other options:

  1. This offer is an offer of an iPhone 15 Pro
  2. This offer offers an iPhone 15 Pro
  3. This offer is offering an iPhone 15 Pro

But I still am not inclined to add a predicate that has such limited scope for use which does not disambiguate anything, it mostly only sounds nicer.

@rjyounes
Copy link
Collaborator Author

What are we offering? A specification? A thing conforming to the specification?
Rebecca: I can offer a specific item for sale - e.g., my house
Dave: There's still a specification about what must be delivered. When you sell something, there's an obligation to deliver and an obligation to pay. At the time of the offer, the thing being delivered doesn't exist. When you sell a house, you're delivering a title.

Jamie: Agree that there should be a different predicate, but not convinced isOfferOf is the right one. Something more general would be better.

Offer consists of:

  • Dates (start and end dates)
  • Monetary amount (hasMagnitude Magnitude with aspect price)
  • Thing offered - predicate??
  • Optionally: who it's offered to - hasRecipient

Proposals:

  1. Change predicate in the restriction from hasDirectPart to isOfferOf
  2. Keep hasDirectPart in the restriction - voted down

Proposed restriction:

  a owl:Restriction ;
  owl:onProperty gist:isOfferOf ;
  owl:someValuesFrom owl:Thing ;

Add scope note to give examples of types of things offered.

For next meeting: either accept isOfferOf or bring another proposal.

@philblackwood
Copy link
Contributor

What does the proposed predicate isOfferOf mean? Not sure why we would consider approving something that hasn't been defined yet.

To make it work, I think the object needs to be a specification, and isOfferOf really means "is offer of a thing meeting the specification".

We need to have a clear definition before approving.

@uscholdm
Copy link
Contributor

uscholdm commented Apr 26, 2024

What does the proposed predicate isOfferOf mean?

Something like this:

definition: Relates an offer to the thing being offered.
example: A used car ad is an offer of a specific car. An offer for an iPhone is for any phone that meets the appropriate specification

@Jamie-SA
Copy link
Contributor

Jamie-SA commented May 9, 2024

I kind of like gist:isAbout as it would be more generic, except that it's domain is gist:Content which makes it not very general. If we add gist:isOfferOf it will also be fairly specific to only gist:Offer. I guess it depends on how many Class specific properties we want to have in gist.

@uscholdm
Copy link
Contributor

uscholdm commented May 9, 2024

I guess it depends on how many Class specific properties we want to have in gist.
Generally fewer is better, but sometimes it is hard to think of good alternatives.

@uscholdm
Copy link
Contributor

uscholdm commented May 9, 2024

I kind of like gist:isAbout as it would be more generic, except that it's domain is gist:Content which makes it not very general.

If we broadened domain of isAbout to include Offers, then it's definition might be too broad to use with Offer. An offer could be about the item for sale, but it might also be about a 10 year anniversary sale. Thus Offer isAbout X would be ambiguous.

@rjyounes
Copy link
Collaborator Author

rjyounes commented May 9, 2024

DECISION:

  • Define isOfferOf:
    definition: Relates an offer to the thing being offered.
    example: A used car ad is an offer of a specific car. An offer for an iPhone is for any phone that meets the appropriate specification.
  • Modify restriction on Offer:
a owl:Restriction ;
  owl:onProperty gist:isOfferOf ;
  owl:someValuesFrom owl:Thing ;

@marksem
Copy link
Collaborator

marksem commented Jun 13, 2024

Sorry late to this party. 'isOfferOf' sounds really contrived to me. Would 'offers' be a more general predicate?

@stevenchalem stevenchalem changed the title Define predicate isOfferOf to use with Offer in place of hasDirectPart Define predicate gist:offers to use with Offer in place of hasDirectPart Jun 13, 2024
@rjyounes rjyounes moved this from In Progress to In Review in gist Version 13.0.0 Jun 13, 2024
@rjyounes
Copy link
Collaborator Author

@marksem @uscholdm I still feel queasy about the double use of offers. If Offer is a reification of this predicate, then it is odd for it also to use this predicate. This is the issue Michael and I raised yesterday. I realize the reification is not expressed formally, so there are no formal logical consequences, but conceptually it seems wrong to me.

@stevenchalem
Copy link
Contributor

If we are to avoid the double use of offers and just specify a predicate that connects a gist:Offer to the thing being offered, then gist:isAbout might work, except that it applies to gist:Document and a gist:Offer is not a gist:Document. Could we loosen that restriction on gist:isAbout? Introduce something similar like gist:covers?

@rjyounes
Copy link
Collaborator Author

rjyounes commented Jun 14, 2024

I think it's important to have a predicate for aboutness limited to content. Any other aboutness is more metaphorical. (To clarify, the domain of isAbout is Content generally; there is no gist:Document.) Certainly such a change cannot be made without discussion.

@rjyounes
Copy link
Collaborator Author

rjyounes commented Jun 14, 2024

Just throwing out isBasedOn as a possibility, though I don't love it in this context.

@stevenchalem
Copy link
Contributor

pertainsTo ? covers ?
presents ? makesAvailable ?

@rjyounes
Copy link
Collaborator Author

I am now inclined to postpone this to 13.1 and bring it back to the group, for the following reasons:

  • We had lengthy discussion of this issue over a couple of meetings and came to a decision. From a procedural point of view, we should not undo that decision either in a group of 4 after the meeting or in a comment thread.
  • This is just one predicate but there are a couple of larger issues at stake:
    • Predicates for specific resources: this is not ideal but we do have quite a number of them already in gist. We would not be setting a new precedent with isOfferOf.
    • Use of a predicate both with and without a reified relationship or other object (or turning it around, both as a shortcut and a non-shortcut).

@stevenchalem What do you think?

@stevenchalem
Copy link
Contributor

@rjyounes I agree. But does the restriction change in gist:Offer make this a major change that would need to wait for 14.0?

@uscholdm
Copy link
Contributor

If we are considering isBasedOn and isAbout, we might as well go back to hasDirectPart. The whole idea was to make it more specific.

@stevenchalem
Copy link
Contributor

I'm closing the PR because this issue needs more discussion.

@stevenchalem
Copy link
Contributor

stevenchalem commented Jun 20, 2024

@uscholdm wrote > If we are considering isBasedOn and isAbout, we might as well go back to hasDirectPart. The whole idea was to make it more specific.

@marksem's objection was that gist:isOfferOf is too specific -- that it is "bespoke". Although @rjyounes's original statement was that hasDirectPart is not specific enough, what came out in discussion was that people found it just not a good fit; that hasDirectPart doesn't correctly denote the relationship between an offer and the thing being offered. So my interpretation of the goal is to find a predicate that correctly describes that relationship yet is general enough to have broader application. But maybe that's just my interpretation.

@Jamie-SA
Copy link
Contributor

@marksem's objection was that gist:hasDirectPart is too specific -- that it is "bespoke".

@stevenchalem did you mean to say "gist:isOfferOf is too specfic"?

@stevenchalem
Copy link
Contributor

@marksem's objection was that gist:hasDirectPart is too specific -- that it is "bespoke".

@stevenchalem did you mean to say "gist:isOfferOf is too specfic"?

Yes. Thank you. Corrected.

@marksem
Copy link
Collaborator

marksem commented Jun 24, 2024

@uscholdm wrote > If we are considering isBasedOn and isAbout, we might as well go back to hasDirectPart. The whole idea was to make it more specific.

@marksem's objection was that gist:isOfferOf is too specific -- that it is "bespoke". Although @rjyounes's original statement was that hasDirectPart is not specific enough, what came out in discussion was that people found it just not a good fit; that hasDirectPart doesn't correctly denote the relationship between an offer and the thing being offered. So my interpretation of the goal is to find a predicate that correctly describes that relationship yet is general enough to have broader application. But maybe that's just my interpretation.

Your interpretation is exactly what I was seeking to do with offers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

6 participants