• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

/usr/lib/swi-prolog/library/semweb/rdf_db.pl
AllApplicationManualNameSummaryHelp

  • library
    • semweb
      • rdf_db.pl -- Core RDF database
        • rdf_current_prefix/2
        • rdf_prefix/2
        • ns/2
        • rdf_register_prefix/2
        • rdf_register_prefix/3
        • rdf_current_ns/2
        • rdf_register_ns/2
        • rdf_register_ns/3
        • rdf_global_id/2
        • rdf_global_object/2
        • rdf_global_term/2
        • rdf_meta/1
        • rdf_equal/2
        • lang_equal/2
        • lang_matches/2
        • rdf/3
        • rdf/4
        • rdf_has/3
        • rdf_has/4
        • rdf_reachable/3
        • rdf_reachable/5
        • rdf_subject/1
        • rdf_resource/1
        • rdf_assert/3
        • rdf_assert/4
        • rdf_retractall/3
        • rdf_retractall/4
        • rdf_update/4
        • rdf_update/5
        • rdf_member_property/2
        • rdf_node/1
        • rdf_bnode/1
        • rdf_is_bnode/1
        • rdf_is_resource/1
        • rdf_is_literal/1
        • rdf_current_literal/1
        • rdf_literal_value/2
        • rdf_source_location/2
        • rdf_gc/0
        • rdf_statistics/1
        • rdf_current_predicate/1
        • rdf_predicate_property/2
        • rdf_set_predicate/2
        • rdf_snapshot/1
        • rdf_delete_snapshot/1
        • rdf_current_snapshot/1
        • rdf_transaction/1
        • rdf_transaction/2
        • rdf_transaction/3
        • rdf_active_transaction/1
        • rdf_monitor/2
        • rdf_warm_indexes/0
        • rdf_warm_indexes/1
        • rdf_update_duplicates/0
        • rdf_update_duplicates/0
        • rdf_save_db/1
        • rdf_save_db/2
        • rdf_load_db/1
        • rdf_load/1
        • rdf_load/2
        • rdf_file_type/2
        • rdf_load_stream/3
        • rdf_unload/1
        • rdf_unload_graph/1
        • rdf_create_graph/1
        • rdf_graph/1
        • rdf_source/2
        • rdf_source/1
        • rdf_make/0
        • rdf_graph_property/2
        • rdf_set_graph/2
        • rdf_reset_db/0
        • rdf_save/1
        • rdf_save/2
        • rdf_save_header/2
        • rdf_graph_prefixes/2
        • rdf_graph_prefixes/3
        • rdf_save_footer/1
        • rdf_save_subject/3
        • rdf_compare/3
        • rdf_match_label/3
        • rdf_split_url/3
        • rdf_url_namespace/2
        • rdf_new_literal_map/1
        • rdf_destroy_literal_map/1
        • rdf_reset_literal_map/1
        • rdf_insert_literal_map/3
        • rdf_insert_literal_map/4
        • rdf_delete_literal_map/2
        • rdf_delete_literal_map/3
        • rdf_find_literal_map/3
        • rdf_keys_in_literal_map/3
        • rdf_statistics_literal_map/2
        • rdf_version/1
        • rdf_set/1
        • rdf_md5/2
        • rdf_generation/1
        • rdf_estimate_complexity/4
        • rdf_debug/1
        • rdf_atom_md5/3
      • rdf_cache.pl -- Cache RDF triples
      • rdfs.pl -- RDFS handling
      • rdf11.pl -- RDF 1.1 API
      • rdf_persistency.pl -- RDF persistency plugin
      • rdf_litindex.pl -- Search literals
      • rdf_ntriples.pl -- Process files in the RDF N-Triples format
      • sparql_client.pl -- SPARQL client library
      • turtle.pl -- Turtle: Terse RDF Triple Language
      • rdf_turtle_write.pl -- Turtle - Terse RDF Triple Language writer
      • rdf_http_plugin.pl -- RDF HTTP Plugin
      • rdf_library.pl -- RDF Library Manager
      • rdf_zlib_plugin.pl -- RDF compressed-data plugin
 rdf_reachable(?Subject, +Predicate, ?Object) is nondet
Is true if Object can be reached from Subject following the transitive predicate Predicate or a sub-property thereof, while repecting the symetric(true) or inverse_of(P2) properties.

If used with either Subject or Object unbound, it first returns the origin, followed by the reachable nodes in breath-first search-order. The implementation internally looks one solution ahead and succeeds deterministically on the last solution. This predicate never generates the same node twice and is robust against cycles in the transitive relation.

With all arguments instantiated, it succeeds deterministically if a path can be found from Subject to Object. Searching starts at Subject, assuming the branching factor is normally lower. A call with both Subject and Object unbound raises an instantiation error. The following example generates all subclasses of rdfs:Resource:

?- rdf_reachable(X, rdfs:subClassOf, rdfs:'Resource').
X = 'http://www.w3.org/2000/01/rdf-schema#Resource' ;
X = 'http://www.w3.org/2000/01/rdf-schema#Class' ;
X = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Property' ;
...
ClioPatria (version V3.1.1-51-ga0b30a5)