Giter Site home page Giter Site logo

Comments (15)

klinovp avatar klinovp commented on July 19, 2024 3

No, I wouldn't. It should still return :pavel unless :since/:until have some sort of temporal semantics (supporting which in the query language is a separate issue orthogonal to RDF*).

That would be useful and I fully admit this is where SA is better suited than PG, it's just not what I'm after here. Probably should have used a different example!

from rdf-star.

klinovp avatar klinovp commented on July 19, 2024 2

I cannot share datasets, it's almost never possible for us. I can only give example for some of the things we see there, such as:

<< :a skos:closeMatch :b >> :score 0.9

and queries like

?x a :Type1 .
?y a :Type2 .
<< ?x skos:closeMatch ?y >> :score ?score

with subsequent filtering and aggregation on ?score.

Regarding named graphs, there's a very simple argument why we want to keep both annotated triples and named graphs. We regularly see people wondering if they should manage different parts of their data in i) separate datasets (i.e. separate physical databases inside a server instance) ii) separate named graphs inside one dataset. There are pros and cons to both. Sometimes the choice isn't clear.

So far they've been able to just take data stored in the default graph of database X and move it into a named graph inside Y. Importantly, they won't need to change queries (or apps), they only need a connection string to a different database and a different query dataset (ie. FROM in SPARQL). The latter can be defined outside of queries as defined in the SPARQL Protocol. Now, we don't want RDF* to limit that flexibility: if you want to take a bunch of triples with annotations and move them into a named graph, that should be similarly easy.

from rdf-star.

pchampin avatar pchampin commented on July 19, 2024 1

Just out of curiosity, would you consider, later, to add ... :until 2019 to the triple :pavel :worksAt :Stardog?
If so, do you expect the following SPARQL query to not return :pavel?

SELECT * { ?s :worksAt :Stardog }

from rdf-star.

lisp avatar lisp commented on July 19, 2024 1

@klinovp, would it be possible to add examples to this use case. that is, concrete datasets, queries and desired results. of particular interest is the annotation of triples which are in named graphs.

from rdf-star.

pchampin avatar pchampin commented on July 19, 2024

No, I wouldn't. It should still return :pavel unless :since/:until have some sort of temporal semantics (supporting which in the query language is a separate issue orthogonal to RDF*).

We agree on that. I just wanted to check.

Probably should have used a different example!

On the contrary, it's good that we explore all kinds of tricky examples, and clearly state what is in scope and out of scope of RDF*.

from rdf-star.

akuckartz avatar akuckartz commented on July 19, 2024

... it's good that we explore all kinds of tricky examples, and clearly state what is in scope and out of scope of RDF*.

:+💯:

from rdf-star.

pfps avatar pfps commented on July 19, 2024

@klinovp Are you interested in turning this use case into something that the RDF-star working group can use to help drive the development of RDF 1.2? If so please contact me or start a use case issue in https://github.com/w3c/rdf-ucr

from rdf-star.

pfps avatar pfps commented on July 19, 2024

@klinovp One issue in representing property graph data in RDF is determining just what the property graph can do. For example, many property graph systems can have multiple edges with the same start, end, and relationship name. What is the model that you want to capture?

from rdf-star.

lisp avatar lisp commented on July 19, 2024

when one carries this further, please separate the expressive capability from the representation.
the initial statement combined them, but it was not clear what that was necessary.

from rdf-star.

pfps avatar pfps commented on July 19, 2024

@lisp Feel free to create a use case issue yourself. Others can comment in the issue if they want. The issue can even be split if necessary.

from rdf-star.

lisp avatar lisp commented on July 19, 2024

@pfps, i am agnostic on the uses.
my concern is just in the implementation, from which perspective the suggested distinction would be beneficial.

from rdf-star.

klinovp avatar klinovp commented on July 19, 2024

@klinovp One issue in representing property graph data in RDF is determining just what the property graph can do. For example, many property graph systems can have multiple edges with the same start, end, and relationship name. What is the model that you want to capture?

Hi @pfps, I must say I likely didn't think of the multiple edge use case when I wrote up the issue. I don't recall our customers/prospects being interested in that (though I might be mistaken since I no longer talk with them directly). My feeling is that if people recognise that they need to distinguish multiple relationships of the same type between the same nodes in RDF, they're more willing to reify that relationship than if they simply want to add attributes to a single relationship.

I know relatively little about property graph databases but I recall that even the neo4j book on PG databases (Jim Webber et al., iirc) has an anti-pattern section which argues against encoding entities into relationships. So I'm more interested in providing simple means for the common case where the relationship is identified only by the nodes and its type rather capturing the more general multi-relationship model which distinguishes multiple edges of the sane type.

from rdf-star.

pfps avatar pfps commented on July 19, 2024

@klinovp As soon as you have begin and end attributes on relationships you quickly get multiple relationships with the same three elements. Consider, for example the marriages of Richard Burton and Elizabeth Taylor, they were in a spouse relationship at two separate times, which can easily be represented in labelled property graphs but not with quoted triples, even if only one of the triples is asserted.

from rdf-star.

klinovp avatar klinovp commented on July 19, 2024

@pfps I agree that it's easy to come up with an example of a labeled property multi-graph. However, I'm not sure the need to represent that modeling pattern in RDF 1.2 with quoted triples is strong enough to generalise the semantics of RDF graphs from sets to multisets. That'd affect a lot of things beyond quoted triples and could require some pretty fundamental implementation changes, for example, to the storage layer of existing RDF systems.

Obviously other vendors can disagree here but I think a practical translation method from LPGs to RDF 1.2 would use quoted triples for simple edges with properties and the N-ary relationship modeling pattern for multi-edges. I can see how it may still cause problems, for example, for incremental translation of changing LPG to RDF 1.2 (adding a new edge between existing nodes may require change of modeling in RDF 1.2).

from rdf-star.

pfps avatar pfps commented on July 19, 2024

OK, so should there be a WG use case just for the simple case? If so, please go ahead and create one in https://github.com/w3c/rdf-ucr/issues

from rdf-star.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.