3 ms·
If you search for “isomorphism” in the doc, they state that most real world cases will have unique IDs for nodes and that make this efficient in practice and th
by slaymaker1907 3y ago
If you search for “isomorphism” in the doc, they state that most real world cases will have unique IDs for nodes and that make this efficient in practice and that implementations can detect if a case is difficult (likely aborting).
- westurner 3y agohttps://www.w3.org/wiki/BnodeSkolemization https://www.w3.org/wiki/BnodeSkolemization rdf-concepts/#section-blank-nodes: https://www.w3.org/TR/rdf-concepts/#section-blank-nodes https://www.w3.org/TR/rdf-concepts/#section-blank-nodes Rdflib docs on Skolemization: https://rdflib.readthedocs.io/en/stable/persisting_n3_terms.html https://rdflib.readthedocs.io/en/stable/persisting_n3_terms.... : > Skolemization is a syntactic transformation routinely used in automatic inference systems in which existential variables are replaced by ‘new’ functions - function names not used elsewhere - applied to any enclosing universal variables. In RDF, Skolemization amounts to replacing every blank node in a graph by a ‘new’ name, i.e. a URI reference which is guaranteed to not occur anywhere else. In effect, it gives ‘arbitrary’ names to the anonymous entities whose existence was asserted by the use of blank nodes: the arbitrariness of the names ensures that nothing can be inferred that would not follow from the bare assertion of existence represented by the blank node. SPARQL has UUID() and BNODE() functions: https://www.w3.org/TR/sparql11-query/#func-bnode https://www.w3.org/TR/sparql11-query/#func-bnode : > The BNODE function constructs a blank node that is distinct from all blank nodes in the dataset being queried and distinct from all blank nodes created by calls to this constructor for other query solutions. If the no argument form is used, every call results in a distinct blank node. If the form with a simple literal is used, every call results in distinct blank nodes for different simple literals, and the same blank node for calls with the same simple literal within expressions for one solution mapping. Blank node: https://en.wikipedia.org/wiki/Blank_node https://en.wikipedia.org/wiki/Blank_node