You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MagmaCore (MC) will store some complex data models and there is a need to do complex queries to traverse the model and return results. There is no exported way of doing this at present, so clients of MC need to make repeated requests for objects and traverse links manually before fetching the next object[s] in the chain which is very inefficient.
One option is to expose a SPARQL query service and let clients run arbitrary queries, then parse the results themselves, but this solution puts a lot of the burden on clients and multiple clients may end up implementing different solutions to the same problem.
Another solution is to provide some canned queries based on client requirements. These are some of the queries that I need for my application which are fairly general and could be implemented as canned queries in MC:
Find objects of a certain rdf:type and member_of_kind and the sign values conforming to a pattern that represent those objects at a pointInTime. Use Cases:
List users and their usernames,
list roles and their role names,
list books and their titles, etc..
Find the individuals represented by a given sign value at a pointInTime. Use Cases:
Find user by username,
find book by ISBN, etc..
Find the individuals, their signs values and their roles in associations that are member_of_kind of a particular kind_of_association at a pointInTime. Use Cases:
List books and their authors,
list users and their roles,
list blog posts and their authors.
Find the objects associated to a particular individual, their signs values and their roles in associations that are member_of_kind of a particular kind_of_association at a pointInTime. Use Cases:
List commenters on a specific blog post,
list friends of a specific person,
list departments in a specific organisation.
Find the parts of a given individual and their parts up to n levels deep along with the sign values that represent them. Use Cases:
Find a tree of objects such as a taxonomy
Find the department structure of an organisation.
There are probably many more, but these would be a very useful starting point and would hopefully be useful to other clients.
The text was updated successfully, but these errors were encountered:
MagmaCore (MC) will store some complex data models and there is a need to do complex queries to traverse the model and return results. There is no exported way of doing this at present, so clients of MC need to make repeated requests for objects and traverse links manually before fetching the next object[s] in the chain which is very inefficient.
One option is to expose a SPARQL query service and let clients run arbitrary queries, then parse the results themselves, but this solution puts a lot of the burden on clients and multiple clients may end up implementing different solutions to the same problem.
Another solution is to provide some canned queries based on client requirements. These are some of the queries that I need for my application which are fairly general and could be implemented as canned queries in MC:
rdf:type
andmember_of_kind
and thesign
values conforming to apattern
thatrepresent
those objects at apointInTime
. Use Cases:individuals
represented by a givensign
value at apointInTime
. Use Cases:individuals
, theirsigns
values and theirroles
inassociations
that aremember_of_kind
of a particularkind_of_association
at apointInTime
. Use Cases:individual
, theirsigns
values and theirroles
inassociations
that aremember_of_kind
of a particularkind_of_association
at apointInTime
. Use Cases:parts
of a givenindividual
and theirparts
up ton
levels deep along with thesign
values that represent them. Use Cases:There are probably many more, but these would be a very useful starting point and would hopefully be useful to other clients.
The text was updated successfully, but these errors were encountered: