rdf - How to differentiate between a Thing and an inanimate object with SPARQL -
using sparql, can related info resource quite easily, i'm having hard time figuring out how differentiate between things , things -- in thing
super class of classes, , things inanimate objects, cup, spoon, pencil, etc.
for example, here few innanimate objects in dbpedia:
- fork: http://dbpedia.org/page/fork
- jar: http://dbpedia.org/page/jar
- envelope: http://dbpedia.org/page/envelope
- baseball glove: http://dbpedia.org/page/baseball_glove
- screwdriver: http://dbpedia.org/page/screwdriver
here's thing -- know lot of ontologies don't have specific type give ability query objects, however, perhaps theres way tell if thing because has no subclasses, or maybe property path of types can used differentiate in roundabout way.
but, in general, i'd know if possible differentiate between things
, things using sparql query? , if so, how?
you can browse dbpedia ontology classes online. under owl:thing
, there number of toplevel classes. while it's not perfect match, because includes collective entities, looks agent class , complement correspond animate , inanimate objects. might need consider animal class well, or other things under species class. there non-dbpedia classes, e.g., foaf:person should consider, too. @ rate, big approach here select classes in hierarchy consider represent animate , inanimate things, , use decide instances.
e.g., use query find animate things (if define animate things agents , animals):
select ?x { ?x owl:thing filter exists { ?x ?type . filter( ?type in ( dbpedia-owl:agent, dbpedia-owl:animal ) ) } } limit 100
Comments
Post a Comment