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

Determine number of instances in SWEET #209

Open
wdduncan opened this issue Jul 24, 2020 · 11 comments
Open

Determine number of instances in SWEET #209

wdduncan opened this issue Jul 24, 2020 · 11 comments

Comments

@wdduncan
Copy link

I think would be useful to know how much instance level data each owl:Class in SWEET has. This could help in prioritizing/inform which classes to focus on, and what kinds of analysis would be most fruitful.

The spraql is straightforward:

select (count (distinct ?instance) as ?instance_count) ?class ?class_label
where 
{
  ?class a owl:Class .
  optional { ?class rdfs:label ?class_label } . # do all SWEET classes have labels?
  ?i a ?class .

  # sometimes the triple store creates blanks nodes you don't want
  # but I don't know if you gave your instanced IRIs or if you simply used blank nodes for them
  filter (!bnode(?i)) 
}

If you want to break out the counts by named graphs, you'll need to need to modify the sparql accordingly. E.g.:

graph ?g {
  ?class a owl:Class . optional { ?class rdfs:label ?class_label } . 
  ?i a ?class .
}
@lewismc
Copy link
Member

lewismc commented Jul 25, 2020

@wdduncan can you post a sample result? I would have through you would have been interested in owl:NamedIndividual's instead of owl:Classes here?

@wdduncan
Copy link
Author

@lewismc What is the URL of your SPARQL endpoint?

@lewismc
Copy link
Member

lewismc commented Jul 25, 2020

@wdduncan
Copy link
Author

Here's an example result

Looks you have a lot of dams :)

@lewismc
Copy link
Member

lewismc commented Jul 25, 2020

Here's an example result

Nice query, when we update YASGUI I'll make this query one of the examples.

Looks you have a lot of dams :)

Yes that is a pretty rich dataset and can be visualized nicely through YASGUI's Geo feature.

As we discussed offline, the owl:NamedIndividual's are scattered throughout the ontology suite. The query above has highlighted the extent... which is great.

I think that there may be enough interest to pursue an investigation of the 98 owl:NamedInvidual's associated with http://sweetontology.net/stateTime/Age however we would need to define what it is that we are interested in delivering. Is the goal here to see what SWEET owl:NamedInvidual's compliment/harmonize with another resource? Like ENVO?

@wdduncan
Copy link
Author

EnvO doesn't have terms for expressing geologic age ... perhaps this could be an area of collaboration that would benefit EnvO.
My main thought was to enrich SWEET by using EnvO semantics to facilitate searching for instances (owl:NamedIndividuals). E.g., find me all samples (instances / owl:NamedIndividuals) that have part some methane and located in some aquatic ecosystem.

Make sense?

@rrovetto
Copy link
Collaborator

EnvO doesn't have terms for expressing geologic age ... perhaps this could be an area of collaboration that would benefit EnvO.
My main thought was to enrich SWEET by using EnvO semantics to facilitate searching for instances (owl:NamedIndividuals). E.g., find me all samples (instances / owl:NamedIndividuals) that have part some methane and located in some aquatic ecosystem.

Make sense?

We would not want to commit to or impose the semantics, and associated ontological commitments or semantic resources, of another resource (EnvO or otherwise) on SWEET.

@wdduncan
Copy link
Author

As far I can tell SWEET doesn't have strong semantics. In any case, you can classify individuals multiple ways. The goal is to enrich semantic search. You can do this with SKOS matches if you dislike the OWL.

@lewismc
Copy link
Member

lewismc commented Jul 27, 2020

@rrovetto

We would not want to commit to or impose the semantics, and associated ontological commitments or semantic resources, of another resource (EnvO or otherwise) on SWEET.

Why not? If axiom's are lacking in SWEET then wehy wouldn't we wish to use external source to enrich it? The same goes for ENVO. This is exactly what the semantic harmonization community have been working on all this time.

As far I can tell SWEET doesn't have strong semantics.

Correct.

The goal is to enrich semantic search.

Correct.

@wdduncan
Copy link
Author

On the EnvO slack channel (anyone a part of this?) the suggestion was made to map (e.g., skos:closematch) geologic ages to the wikidata IRIs. I'm not familiar enough with wikidata to know if this is viable, but thought I'd pass along the suggestion.

@dr-shorthair
Copy link
Collaborator

EnvO doesn't have terms for expressing geologic age

On this topic, please be aware that we have been maintaining RDF datasets for the Geologic TImescale, covering the various versions issued by the International Commission on Stratigraphy here: https://github.com/CGI-IUGS/timescale-data

This representation uses an ontology documents here: https://github.com/CGI-IUGS/timescale-ont

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

No branches or pull requests

4 participants