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

Need a way to express ordered lists #121

Closed
sbarnum opened this issue Jul 12, 2019 · 5 comments
Closed

Need a way to express ordered lists #121

sbarnum opened this issue Jul 12, 2019 · 5 comments
Labels
Milestone

Comments

@sbarnum
Copy link
Contributor

sbarnum commented Jul 12, 2019

This was previously in UCO in words only through use of the ArrayOf* classes in types.ttl that were removed. That implementation provided no enforcement of ordering at all however.

The ordering specifically comes into play for things like ArrayOfAction utilized by ActionLifecycle

@sbarnum sbarnum added the 0.5.0 label Jul 12, 2019
@ajnelson-nist
Copy link
Contributor

There is an ordered list in use already under the observable namespace, observable:CyberItemRelationshipEnum. I'm not sure if that particular list was intended to be an ordered list, but that's how it ended up being implemented. And also how it ends up being obviously highlighted out from rdf-toolkit... lotta whitespace.

I'm curious: What more are you looking for over the ordered lists that Turtle provides a shorthand syntax for?

@sbarnum
Copy link
Contributor Author

sbarnum commented Jul 12, 2019

@ajnelson-nist Sorry for the confusion.
I am not referring to a mechanism in the turtle format to specify rdf assertions in an ordered fashion.
I am talking about modeling a mechanism such that ordered lists of content (objects, object-properties, datatype-properties) can be expressed in UCO instance content.

For example if you wanted to specify an ActionLifecycle for the LMCO Kill Chain you will not only want to express the following actions (Reconnaisance, Weaponization, Delivery, Exploitation, Installation, Command&Control, ActionsOnObjectives) but you would want to explicitly convey that they are always in that order. By default properties in rdf with a plural cardinality define a set not an ordered list. We currently do not have a way in UCO to define ordered lists.

The enum example you reference is using the rdf:List structure for RDF Collections and likely would be part of a practical solution but that part of the RDF stack is still a bit weak and there are many open questions to address such as how to use it not for an explicitly specified list but for a list structure (as we need to do for our ontology), how to constrain the range of the rdf:first property appropriately for any given list property, how to most effectively serialize it as JSON-LD, etc.

This ticket is to track the addressing of these questions.

@ajnelson-nist
Copy link
Contributor

This was helpful. Thank you, Sean.

@rhohimer
Copy link

rhohimer commented Jul 12, 2019 via email

@eoghanscasey
Copy link
Contributor

This issue should be closed because ordered lists was addressed by Issue #389 import of Collections Ontology.

@ajnelson-nist ajnelson-nist added this to the UCO 1.0.0 milestone Sep 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants