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

unify definitions of graph/dataset isomorphism #159

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

pchampin
Copy link
Contributor

@pchampin pchampin commented Feb 13, 2025

address #157


Preview | Diff

@pchampin pchampin requested review from gkellogg, afs and hartig February 13, 2025 15:15
@@ -1053,17 +1052,11 @@ <h3>RDF Dataset Comparison</h3>
graph <var>NG1</var> and the RDF dataset <var>D2</var> with default graph
<var>DG2</var> and any named graph <var>NG2</var>)
are <dfn data-lt="dataset isomorphism" class="export">dataset-isomorphic</dfn> if and only if
there is a bijection <var>M</var> between the nodes, triples and graphs in
<var>D1</var> and those in <var>D2</var> such that all of the following properties hold:</p>
there is a bijection <var>M</var> from [=blank nodes=] to [=blank nodes=],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NG1 can be a blank node.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gkellogg I don't understand your comment.

That being said, I reused the language about NG1 and NG2 as is, but I find it quite confusing. I'll change it into something that I find more understandable. Hopefully it will solve your comment above as well :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My reading of this is that it covers isomorphism of terms within the default and named graphs, but not on the graph names, themselves. The graph names also need to be part of M.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous wording was indeed ambiguous, as it said "bijection M between nodes, triples and graphs", sounding like graph names were excluded. Actually, there were not excluded, as later it said:

<n, G> is in NG1 if and only if <M(n), M(G)> is in NG2.

so graph named are also mapped via M.

And the proposed wording in this PR (as well as Olaf's counterproposal in #160) is described as mapping from terms to terms, regardless on where those terms are used. So hopefully, this should be even clearer that graph names are also mapped.

@hartig
Copy link
Contributor

hartig commented Feb 14, 2025

While I agree with the general direction and the need to unify the definitions, I don't find this proposal particularly clean from a formal perspective; especially the part about extending M. The other major issue (which you have just mentioned yourself and which was there already before this PR) is the one about NG1 and NG2. Give me a few minutes to make another proposal.

@pchampin
Copy link
Contributor Author

Turning this PR into a draft, as #160 is likely to replace it anyway. Should be closed if/when #160 gets merged.

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

Successfully merging this pull request may close these issues.

4 participants